- Add dummy CFA pattern for monochrome camera.
- Handle monochrome camera in DngCreator.
- Fix up static and dynamic metadata tags related to monochrome camera
for older version of devices.
Test: Camera CTS
Test: Capture a DNG file and inspect with LightRoom
Bug: 70216652
Change-Id: I68d2b3d77b7f81bdc9e4129c2a8af10a4f18db3b
The legacy camera shim layer currently uses various heuristics
in order to determine valid supported preview/video/snapshot
sizes and formats. This makes the code complex and in some
cases the result is not optimal in terms of power and
performance. If the camera supports recommended stream
configurations, then use the suggested stream
configurations to generate the above supported lists.
Bug: 64029608
Test: Camera CTS
Change-Id: I6ed1d50b3d1a854421f3d119be2e32211e8a4c35
The error code passed to the camera2 ndk while calling the
ACameraDevice_ErrorStateCallback was the AIDL errorCode passed through
the ICameraDeviceCallbacks::onDeviceError() callback. These error codes
do not map directly, to the ones promised through the ndk in
NdkCameraDevice.h. These need to be fixed to appropriate ndk error code mappings.
Bug: 117833501
Test: GCA (sanity)
Test: CTS Native camera2 tests (sanity)
Change-Id: I65a80e4f2be5a3317a008bf0a71578e31fb45d62
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
Camera characteristics for camera clients that don't
hold the camera permission must not contain any
metadata that explicitly requires this permission.
Vendor tags must be absent in this case as well.
Bug: 112160024
Test: Manual using application,
adb shell /data/nativetest64/camera_client_test/camera_client_test
--gtest_filter=CameraCharacteristicsPermission.TestCameraPermission
Camera CTS
Change-Id: I4e34c6ef7bd4315327ca78084fa3dcc175fc8098
Support 3_5 HAL device version for querying physical camera
characteristics.
Test: Camera CTS on Pixel devices
Bug: 79523700
Change-Id: I804cdb5dc75553d6b6f9fb42187a76bd69168179
Public API doesn't see android.logicalcam.physicalIds. Remove it
from public doc.
Bug: 112655222
Bug: 113052379
Test: Manual reading of modified text
Change-Id: I111a57d6dbdbd2f10df5e440c34ee8526918e134
Merged-In: I111a57d6dbdbd2f10df5e440c34ee8526918e134
(cherry picked from commit 11e0589b4d)
- Add more notes on coordinate axes
- Add more text on metadata when distortion correction is active
- Note that poseTranslation needs to be negated in many use cases
- Fix coordinate system references for OIS reporting, add more information
- Note that pixel centers at half-integers for the camera API metadata
such as lens intrinsics
Bug: 79371566
Bug: 74434422
Bug: 109742048
Bug: 109834325
Bug: 109817371
Bug: 112107924
Bug: 113052379
Test: Manual reading of added text
Change-Id: I8609e951c5045d0e918b2c791fcbe50dc8d0873f
Merged-In: I8609e951c5045d0e918b2c791fcbe50dc8d0873f
(cherry picked from commit 306a06900b)
Partial revert of "Add __INTRODUCED_IN to audio/camera/media headers.",
commit 85a41536a4.
Restore the API guards where they used to exist. I *could* add
__ANDROID_API__ around only the function declarations, which is what the
versioner would do, but the function declarations are mixed up with the
types and constants, so I'd need to add a bunch of __ANDROID_API__ checks
or reorganize the headers.
NdkMediaFormat.h and AAudio.h still have __INTRODUCED_IN symbols that
aren't guarded by __ANDROID_API__. Maybe those files should be reorganized
so they don't alternate between APIs so much.
Test: builds
Bug: http://b/111668906
Bug: http://b/113052379
Change-Id: I757a6097f7840ea50e2fc92db7defef493097672
Merged-In: I757a6097f7840ea50e2fc92db7defef493097672
(cherry picked from commit 0c9470cec2)
__INTRODUCED_IN only applies to function or variable declarations, not
a typedef to a function pointer.
Bug: https://github.com/android-ndk/ndk/issues/706
Bug: http://b/113052379
Test: builds
Change-Id: I472565d3e34e5c6a3cd88500ad03ef9ce4489c25
Merged-In: I472565d3e34e5c6a3cd88500ad03ef9ce4489c25
(cherry picked from commit e0ec2e3fb2)
To fix the warning in RefBase destructor.
Test: NDK CTS tests, and ARCore measure app.
Bug: 112775599
Change-Id: Ia448ac6d7e6c17699c16d287f65fc2826c9d7578
Public API doesn't see android.logicalcam.physicalIds. Remove it
from public doc.
Bug: 112655222
Test: Manual reading of modified text
Change-Id: I111a57d6dbdbd2f10df5e440c34ee8526918e134
Set rlimit rtprio for cameraserver to allow it to inherit rt priority
via binder priority inheritance.
Bug: 80502612
Test: confirmed rt prio inheritance via systrace
Change-Id: I916370981690126c7c5302699c7c1bf5b6052685
- Add more notes on coordinate axes
- Add more text on metadata when distortion correction is active
- Note that poseTranslation needs to be negated in many use cases
- Fix coordinate system references for OIS reporting, add more information
- Note that pixel centers at half-integers for the camera API metadata
such as lens intrinsics
Bug: 79371566
Bug: 74434422
Bug: 109742048
Bug: 109834325
Bug: 109817371
Bug: 112107924
Test: Manual reading of added text
Change-Id: I8609e951c5045d0e918b2c791fcbe50dc8d0873f
Partial revert of "Add __INTRODUCED_IN to audio/camera/media headers.",
commit 85a41536a4.
Restore the API guards where they used to exist. I *could* add
__ANDROID_API__ around only the function declarations, which is what the
versioner would do, but the function declarations are mixed up with the
types and constants, so I'd need to add a bunch of __ANDROID_API__ checks
or reorganize the headers.
NdkMediaFormat.h and AAudio.h still have __INTRODUCED_IN symbols that
aren't guarded by __ANDROID_API__. Maybe those files should be reorganized
so they don't alternate between APIs so much.
Test: builds
Bug: http://b/111668906
Change-Id: I757a6097f7840ea50e2fc92db7defef493097672
Exempt-From-Owner-Approval: cherrypick
(cherry picked from commit 0c9470cec2)
__INTRODUCED_IN only applies to function or variable declarations, not
a typedef to a function pointer.
Bug: https://github.com/android-ndk/ndk/issues/706
Test: builds
Change-Id: I472565d3e34e5c6a3cd88500ad03ef9ce4489c25
Exempt-From-Owner-Approval: cherrypick
(cherry picked from commit e0ec2e3fb2)
The orientation and facing of external devices cannot be used
for calculating the jpeg orientation.
Bug: 72261912
Test: Android compiles without errors
Change-Id: Ide8dcdb709dfb2c43a72241c9bf3f65af8d23d87
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: I77a84c1321058ab6637be2fffaca19a27f46dca1
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: I5c9dea8653769696035c7d243fbd1fae4fd1b1cc
If application specifies 0-weight AF_REGIONS in capture request, the
camera device is allowed to override with non-0-weight AF_REGIONS in
capture result.
Test: Build
Bug: 29398609
Change-Id: I1e90c6c1717a894458b9a989cbd25981eaad43fb
- Include stdbool.h for using bool in C
- Add typedef to restore backward compatibility
Bug: https://github.com/android-ndk/ndk/issues/559
Change-Id: I28f5a99ea6271e364a2d1db793dbadcc63fe2f2c
The client API level should be part of the service proxy
notifications.
Bug: 68653614
Test: Manual using application
Change-Id: Id8a9fb51a8ba91795283c846b55a9343cf8505df
- Require timestamp source of logical and physical cameras to be the
same.
- Clarify requirement for guaranteed raw stream combinations.
Test: Compile
Bug: 64691172
Change-Id: Iaf5fe2721a7b21faf7a79b8db01a3df97b034ed5
- Add physical camera metadata in capture result.
- Adjust capture_result book-keeping for physical capture result.
- Adapt to new version of ICameraDeviceCallback.
- Batch physical metadata with logical metadata within one
process_capture_result call.
Test: testLogicalCameraTest CTS test
Bug: 64691172
Change-Id: I63fd343770cbb6183b7c6e4566c698f69801a8e8
Capture requests could include settings for different physical
cameras. Camera service should always check whether such
extended requests refer to valid physical devices and process
them accordingly.
Fix some stability issues in the camera native tests.
Test: Basic camera sanity using camera application,
camera_client_test, Camera CTS
Bug: 64691172
Change-Id: I68b81e983dd0b7caebfa03e4f0cf283f2a91dc7a
Add physical camera ID in OutputConfiguration so that the application
can optionally set physical camera id for an output stream.
Test: Camera CTS
Bug: 64691172
Change-Id: I5909cd71618cc07ef403c420913eb1c02f1e10f0
Change type to byte because int32 and enum cause type mismatch.
Allow DETECT in all AF modes.
Test: CTS
Bug: 64847201
Change-Id: I9c7b13f0fd53873b14e13eb5c85b421b588ced49
Currently the camera subsystem is trying to store all cameras, that
have ever been registered with it by camera HALs. This makes it
easier for the framework, but with hotpluggable cameras it makes
little sense, because for this HALs also have to store all cameras,
that have ever been plugged in and with every new plug in event
identify, whether this is a new camera or a known one. An easier and
cleaner approach is to remove cameras upon unplug. This patch
implements that.
Change-Id: Ie38cad59449386351518655e723e3f826a2ec826
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
If a UID is idle (being in the background for more than
cartain amount of time) it should not be able to use the
camera. If the UID becomes idle we generate an eror and
close the cameras for this UID. If an app in an idle UID
tries to use the camera we immediately generate an error.
Since apps already should handle these errors it is safe
to apply this policy to all apps to protect user privacy.
Test: Pass - cts-tradefed run cts -m CtsCameraTestCases
Added - CameraTest#testCameraAccessForIdleUid
Bug: 63938985
Change-Id: Ic0111d7c651b3d84c644b9f3d30e24133544f4fa
- MOTION_TRACKING capability defines a camera with accurate lens calibration
values, accurate timestamps relative to the inertial sensors, and ability
to limit exposure time to 20ms max.
- Add android.lens.poseReference for supporting gyroscope-centered lens calibration
data for MOTION_TRACKING.
Test: Builds
Bug: 63629224
Change-Id: I99f209afae930a7b59a2a84163d19de5f824cc96
The initial values of the session-wide capture parameters
should be passed along the stream list during stream
configuration. This could yield performance gains depending
on the Hal implementation and support.
Bug: 64450664
Test: Camera CTS
Change-Id: I2b0ec8916f027e7f34f81dc414c3ca649807e925
Put AIDL files into a filegroup so they can be imported as sources
for framework.jar.
Bug: 69917341
Test: m checkbuild
Change-Id: Ia500ff881bcc8d4a6f0aa66e12d9e6bb5a07ecc1
Merged-In: Ia500ff881bcc8d4a6f0aa66e12d9e6bb5a07ecc1
(cherry picked from commit 6bf135b03e)
Put AIDL files into a filegroup so they can be imported as sources
for framework.jar.
Bug: 69917341
Test: m checkbuild
Change-Id: Ia500ff881bcc8d4a6f0aa66e12d9e6bb5a07ecc1
Includes only minor formatting/wording tweaks from merging
together the SDK and NDK metadata definitions.
Bug: 29102963
Bug: 33262893
Test: Build and manual inspection of generated docs diff
Change-Id: Ie43e692cee5e6e7dc8de68c4191a9140bcc0025b
The Camera API needs to support the dynamic attach/detach of extra
output surfaces to a given camera stream.
Bug: 63912484
Change-Id: I18809aea31f78fb9e125bd18b58951ade4fad3c5
1. Fix AMessage contains last reference to session
issue
2. Fix disconnectLocked waits on dead session issue
Test: add some sleeps to make deadlock scenarios pops in CTS
and then run CTS 100 times.
Bug: 67965633
Change-Id: If0ab9e33de12969dcb5f1d10e96f47f13024f399
- Remove hand-written ICameraServiceProxy C++ impl; use the AIDL-
generated version instead
- Send client package name and camera facing with the camera state
notices
Test: Verify by logging that information sent to proxy is correct;
no camera CTS regressions.
Bug: 32449509
Change-Id: I7a305b76b4f1d5c08b7938108bd73c95986508e0
Bug: 33241851
Test: Enable BOARD_VNDK_VERSION and add libcamera_client as dep to
resolve camera/*.h file not found errors
Change-Id: I9ba45798a6e2ca7be96bf664f61c3bc1d0ef8d34
* Owners are selected from top CL approvals or owners.
They will be suggested to review/approve future CLs.
* OWNERS files are recognized by the new find-owners plugin, see .md files in
https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/
Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I7c848855a2d7a0d7f33123ea4ef5c2d03977b495
Modules exposed as source in the PDK should not depend on anything
under frameworks/base.
Bug: 62086238
Test: Validated PDK build no longer fails on libcamera_client
Change-Id: I5239f09693065378893a2305f403c185bb7d334f