Commit Graph

403 Commits

Author SHA1 Message Date
Emil Jahshan
cbeda28395 Merge "VTS tests to work with depth Y16" into pie-vts-dev
am: 0e802961e2

Change-Id: I0a42e16b82c60c0c36e1809b9839b73226b22660
2019-03-12 14:39:33 -07:00
Emil Jahshan
b8524954e6 VTS tests to work with depth Y16
modified VTS tests functions to work with the Y16 format with the correct dataspace.
Y16 changes are in this patch: 847192

Test: ran and tested on intel depth camera D415 and a regular RGB camera

Change-Id: Ie40347d58d4f72ed2fc9676bdaab2d1dca5dc5bc
Signed-off-by: Emil Jahshan <emil.jahshan@intel.com>
2019-02-24 09:40:24 +00:00
Pierre Lee
e233a7c98d The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
am: 6f6fe9a5e2

Change-Id: I037a4eb21f0eee79acf78f15a1cd5bb9fef5da7b
2019-01-23 21:44:20 -08:00
Pierre Lee
6f6fe9a5e2 The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera

Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
Merged-In: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
2019-01-22 04:13:52 +00:00
Yin-Chia Yeh
31ad8ce667 Merge "Camera: fill in bufferSize correctly" into pie-vts-dev
am: d04f64ef24

Change-Id: I1d3a33e8bc58d0f99167f5bc3da6b6abf81d6d52
2019-01-14 04:05:42 -08:00
Yin-Chia Yeh
9d4ff706e1 Camera: fill in bufferSize correctly
Test: partner testing
Bug: 118724188
Change-Id: If21762467e6458f923d7f9b7eeef41d987c196a1
2019-01-14 10:54:11 +00:00
Ng Zhi An
f8f519f412 Skip hal v1 check after p on low ram devices
am: a0eb7e415c

Change-Id: Ice8482bd701233d382f381f6204230caebc2cb44
2018-10-02 14:19:29 -07:00
Ng Zhi An
a0eb7e415c Skip hal v1 check after p on low ram devices
Bug: 116546417
Test: vts-tradefed run commandAndExit vts
-m VtsHalCameraProviderV2_4Target
-t VtsHalCameraProviderV2_4Target#CameraHidlTest.noHal1AfterP

Change-Id: I28782b560975b49e20d6b42d599d689f819a9383
2018-10-02 19:52:50 +00:00
Emilian Peev
fe40b621b7 Camera: Allow 3% ISO tolerance during ISO burst VTS
The advertised ISO ranges may not be entirely supported on
some devices. Expect a 3% tolerance when comparing the applied
results versus the expected ISO value.

Bug: 80025874
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Merged-In: Ibd2758e48a0924e81877e35dd27433669274fdb3
Change-Id: Ibd2758e48a0924e81877e35dd27433669274fdb3
(cherry picked from commit 0fdd7cdc0e)
2018-08-29 17:57:11 +00:00
Emilian Peev
6fa94395fd Camera: Don't hold 'mLock' when closing the camera session
After flushing the camera requests don't try to close the
camera session while still holding 'mLock'. Different Hals
could still try and return additional results which then will
get blocked on 'mLock'. Closing the session could potentially
introduce a deadlock if the Hal implementation waits for any
of the result calls to return.

Bug: 111836165
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I0f309f435cc76db3f9b6ba500da65a232b014717
Merged-In: I0f309f435cc76db3f9b6ba500da65a232b014717
(cherry picked from commit 8e92056837)
2018-08-28 18:17:55 +00:00
Hsin-Yi Chen
68c347fa62 Fix ICameraDeviceCallback version in VTS test
Test: ./VtsHalCameraProviderV2_4TargetTest --gtest_filter=CameraHidlTest.constructDefaultRequestSettings
Bug: 111625570
Change-Id: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
Merged-In: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
(cherry picked from commit cccd5bf1dd)
2018-08-13 15:16:28 +08:00
Yin-Chia Yeh
7d1fdecea5 Legacy camera shim: add option to free buffers earlier
This option allows HAL to opt in for the behavior that will free
cached buffers earlier if the libhardware HAL implementation
doesn't cache/reference the cached buffers internally.

Test: buffers are freed earlier when the property is set
Bug: 111850884
Change-Id: I3a10b288c7160c86dc7d3a30d04b5c4903917731
2018-08-03 12:38:30 -07:00
Emilian Peev
8e92056837 Camera: Don't hold 'mLock' when closing the camera session
After flushing the camera requests don't try to close the
camera session while still holding 'mLock'. Different Hals
could still try and return additional results which then will
get blocked on 'mLock'. Closing the session could potentially
introduce a deadlock if the Hal implementation waits for any
of the result calls to return.

Bug: 111836165
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I0f309f435cc76db3f9b6ba500da65a232b014717
2018-07-26 13:04:54 +01:00
Hsin-Yi Chen
cccd5bf1dd Fix ICameraDeviceCallback version in VTS test
Test: ./VtsHalCameraProviderV2_4TargetTest --gtest_filter=CameraHidlTest.constructDefaultRequestSettings
Bug: 111625570
Change-Id: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
2018-07-20 13:02:56 +08:00
Emilian Peev
0fdd7cdc0e Camera: Allow 3% ISO tolerance during ISO burst VTS
The advertised ISO ranges may not be entirely supported on
some devices. Expect a 3% tolerance when comparing the applied
results versus the expected ISO value.

Bug: 80025874
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Ibd2758e48a0924e81877e35dd27433669274fdb3
2018-06-26 09:17:33 +01:00
Emilian Peev
e0c4c497b3 Camera: Add only physical ids during multi-camera configuration
Per API specification "physicalCameraId" must not
contain any logical camera ids. The test case
should only use the physical ids it receives from the
camera static metadata.

Bug:109874630
Test:run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I82c5bf44f4572b3a6abdbb3101a11140907b1c9e
2018-06-07 18:21:25 +01:00
Shuzhen Wang
9b71bc20c4 Camera: Avoid Metadata re-allocation during shrinkCaptureResult
If capture result metadata is to be shrinked, reserve enough space so
that CameraMetadata isn't re-allocated when std::vector expands.

If vector expansion happens, CameraMetadata is re-allocated, causing
camera_metadata_t being re-allocated as well.

Test: Camera CTS
Bug: 109672123
Change-Id: Idaf5bf409bdbbccf617614edc96c0478260b4c30
2018-06-05 23:13:54 -07:00
Yin-Chia Yeh
9d32c13f0b Camera: add FMQ size override logic
Test: modify FMQ size in device.mk
Bug: 80242493
Change-Id: Ie1fb12118ad53c5bbe0cf264bffaafcd3728f8db
2018-05-24 10:53:57 -07:00
Yin-Chia Yeh
090872abcf Camera: use compact copy when necessary
When camera HAL sends redundant metadata (reserved space >> actual
used space), create a compact copy to save IPC overhead.

Test: Camera CTS/camera app smoke test
Bug: 79838637
Change-Id: I02657deb377c43c65d111d1fc894eb3c20ad3b8f
2018-05-23 09:43:03 -07:00
Emilian Peev
154e66e57a Camera: Append non-partial results
Bug: 79133095
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Iac1318dfc095fb961b815d35bbff6b6a97173a05
2018-05-16 19:07:38 +01:00
Kourosh Derakshan
68995cb341 camera: Adding 64-bit version of Camera Provider
Added a secondary Camera Provider for 64bit HALs

Test: GCA and normal camera usecases, CTS
Bug: 73173997
Change-Id: I2d9b9a916edc71b73086375f541368b080f5eca9
2018-05-12 02:08:53 +00:00
android-build-team Robot
33ad1e6aa1 Merge "Camera: Set partial results in result batcher" into pi-dev 2018-05-03 17:24:26 +00:00
Emilian Peev
59dd3df9eb Camera: Set partial results in result batcher
Camera device session 3.4 has a separate result batcher
instance. The partial result count needs to get initialized
in the same way as ver. 3.2 otherwise the frame batches can
get retired prematurely.

Bug: 79106874
Test: Camera CTS,
run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I36bfb5bc448154f80f4cb94edcfd119048361099
2018-05-03 13:36:49 +01:00
Yin-Chia Yeh
ccdcb8b60f Camera: fix first launch api level logic
Fall back to sdk_int when first api property is not set.

Test: partner device
Bug: 79133095
Change-Id: Ice78e42cd25d351586d0d2b16c0b555c504b9d4a
2018-05-02 12:20:54 -07:00
Yin-Chia Yeh
b0140796a3 Camera: check return value of callback
Test: no crash
Bug: 78181355
Change-Id: Iaf953045b64dd7b258cf49919ccb8aa5a8a0c7d1
2018-04-27 09:32:39 -07:00
Michael Butler
23ee97e748 Update Android.bp via update-makefiles.sh
When calling update-makefiles.sh there are
some unrelated changes that were missed in
previous commits.

Bug: 68112778
Test: mma
Change-Id: I22b76f3d5bcd084afd2f06e613d2f9f37c1a0c9c
2018-04-18 19:34:10 +00:00
Jaekyun Seok
0fb4577a35 Add "vendor." prefix to ro.camera.wrapper.hal3TrebleMinorVersion
Vendor-specific property should have "vendor." prefix.

Bug: 36513925
Test: succeeded building and tested with taimen
Change-Id: I80f17fb6b8017a761122ddd2f8863e63c72e5623
2018-04-12 09:31:30 +00:00
TreeHugger Robot
6440aadab0 Merge "Camera: Allocate graphics buffers via 'IAllocator'" into pi-dev 2018-04-10 08:55:08 +00:00
Emilian Peev
9e7b2f445c Camera: Allocate graphics buffers via 'IAllocator'
Camera graphic buffers should always be allocated using the
respective HIDL API.

Bug: 77681294
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Ibef88548fc3d29df606e4f66f5f3f4e89d3bf654
2018-04-09 18:21:48 +01:00
Zhijun He
9b61e6197e camera: print the oversized result size
It's generally a bad thing to have the result exploded to exceed
the shared message max depth (1MB). Print the size when such case
occurs for better debugging output.

Bug: 77665564
Change-Id: I971fca202aa3ca0fa1863e9c658659d0775a1ad4
2018-04-06 18:44:42 -07:00
TreeHugger Robot
5d90142071 Merge "Camera: various external camera fixes" into pi-dev 2018-04-06 10:11:18 +00:00
TreeHugger Robot
aa91a992eb Merge "Camera: use finer lock in external camera OutputThread" into pi-dev 2018-04-04 13:45:39 +00:00
Emilian Peev
bc0e16519f Camera: Check external camera v4l2 buffer size
V4L2 buffer size should fall within a reasonable range
like (0. width*height*2]. Check and return appropriate
status in case the size is not within this range.

Bug: 72261912
Test: Camera CTS
Change-Id: I1945dc734afb552ecb8d4ef74c9198eca8ce00e7
2018-04-03 14:47:39 +01:00
Shuzhen Wang
448b7e398a Camera: Validate physical camera related metadata field from legacy HAL
Make sure that num_physcam_metadata, physcam_ids, and physcam_metadata
returned from process_capture_result is sane.

Test: LogicalCameraDeviceTest
Bug: 77218595
Change-Id: Ic4d9823569fb86b20ab2ab21edfc32a0e9f5c9c7
2018-03-29 23:34:51 -07:00
Shuzhen Wang
cf41ad4d69 Camera: Add Monochrome camera capability
Test: Camera CTS on a monochrome camera device
Bug: 74597035
Bug: 64691172
Change-Id: I720b29c794127ca01e658a2d9d69e3cb61adcd14
2018-03-27 13:01:30 -07:00
TreeHugger Robot
c7d15e9f51 Merge "Camera2: Add distortion correction support" into pi-dev 2018-03-27 19:26:45 +00:00
Eino-Ville Talvala
89ff1df0b4 Merge "Camera2: Deprecate LENS_RADIAL_DISTORTION, add LENS_DISTORTION" into pi-dev 2018-03-20 21:58:15 +00:00
Nathan Harold
c893754c0d Update Makefiles Missed In Previous Commits
When calling update-makefiles.sh there are
some unrelated changes that were missed in
previous commits.

Bug: 8675309
Test: compilation
Change-Id: I5bf67fbcc809de36bde1869ada7b835566a5198b
2018-03-19 16:37:46 -07:00
TreeHugger Robot
ba20b76deb Merge changes I20310606,Ic23b7fb2 into pi-dev
* changes:
  Camera: more external camera CTS fix
  Camera: various external camera CTS fixes
2018-03-19 20:06:27 +00:00
Eino-Ville Talvala
7b5fd70ca9 Camera2: Add distortion correction support
This allows camera devices to correct geometric distortion in their
optics, when requested by the application.

The correction only applies to processed (YUV, JPEG, etc) outputs,
not RAW buffers, or the result metadata.

Test: New CTS test passes
Bug: 74434422
Change-Id: I3b4807b08399e9ab18f4b20e3029fc16be662f5b
2018-03-18 18:52:23 -07:00
Eino-Ville Talvala
9171b61588 Camera2: Deprecate LENS_RADIAL_DISTORTION, add LENS_DISTORTION
LENS_RADIAL_DISTORTION is inconsistently defined: in some places, it
is documented to operate on the range [-1...1], and in others, on a
range dependent on the camera lens's intrinsic calibration and focal
length.

Since fixing just the definition will not fix any existing devices
that define this value, deprecate the old key and add a new consistent
one to make sure applications only reference the consistent
definition.

Test: Adjusted camera CTS passes
Bug: 74641761
Change-Id: Icefa3150a5804de264f9e0e98982d038b4dcdb70
2018-03-16 16:17:49 -07:00
Emilian Peev
36ad119251 Camera: Don't limit the camera provider types
Camera provider types should not be limited to a particular set
of pre-defined values. All providers will be treated equally
by camera framework regardless of their specific type.

Bug: 73738052
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I379c015d9e2fc4f68a7ad3ae7cd92b9d230dea33
2018-03-16 09:32:13 +00:00
Yin-Chia Yeh
2d61bfd2b0 Camera: various external camera fixes
1. Add EXIF MAKE/MODEL tag
2. Add retry loop for V4L2 open failure
3. Do not add external camera if ExternalCameraDevice cannot be
   initialized

Bug: 72261912
Bug: 72569850
Change-Id: I06df1fbbb4afabea1a9a74aca9e288b24966cb0b
2018-03-14 14:19:35 -07:00
Yin-Chia Yeh
0d72ef929f Camera: external camera VTS fixes
Test: VTS pass for external camera
Bug: 72261912
Change-Id: I4f1da37081d0b8c1519ecc0ecc0cc6c3850ee2bb
2018-03-13 17:41:33 +00:00
Shuzhen Wang
17d817a889 Camera: Do not forward capture_result in error condition
If HAL calls process_capture_result with invalid buffers, the HIDL
wrapper shouldn't forward it to camera service, since the CaptureResult
structure may not be completely initialized.

Test: Run GoogleCamera
Bug: 74433802
Change-Id: Iaf20b542af5b11ffbedf709e99137b69d77a9ad3
2018-03-09 16:01:06 -08:00
Yin-Chia Yeh
94f52a39c2 Camera: use finer lock in external camera OutputThread
To avoid OutputThread waiting for mLock.

Test: CTS RecordingTest + systrace
Bug: 72261744
Change-Id: If387a1d4a2b0081c4bc43cb648a98e3706864f19
2018-03-07 14:46:51 -08:00
Yin-Chia Yeh
c15a1cab6f Camera: more external camera CTS fix
Also update default external camera config to prevent
over promising peformance on lower end devices.

Test: API2 CTS tests except RecordingTest
Bug: 72261744
Change-Id: I20310606520099abf0f5173690f4aaf56a3e52a9
2018-03-06 10:35:29 -08:00
Yin-Chia Yeh
8b699aaf37 Camera: various external camera CTS fixes
1. Update the FPS range to list (0.5*fps, fps) only
   as webcams tends to skip a lot of frames and not
   able to output at stable framerate.
2. Exif: don't expect focal length to present
3. Thumbnail: allow 0x0 size for no thumbnail output
4. Allow retry some ioctl during configureStream as
   some webcams seems having problem in quick close
   reopen operation.

Test: CTS CameraTest
Bug: 72261912
Change-Id: Ic23b7fb293b7579694c59240e854d750c842886d
2018-03-06 10:35:12 -08:00
Yin-Chia Yeh
96a0da5e87 Merge "Camera: add profiling traces" 2018-03-02 19:13:44 +00:00
TreeHugger Robot
4a35fa3b54 Merge "Use std::unordered_map for mTagToTypeMap" 2018-03-01 22:18:18 +00:00