summaryrefslogtreecommitdiffstats
path: root/include/camera
Commit message (Collapse)AuthorAgeFilesLines
* Update camera javadoc about AE and AWB lock.Wu-cheng Li2011-09-221-16/+6
| | | | | | | | | - Autofocus does not lock AE and AWB. - stopPreview and takePicture do not clear AE and AWB locks. bug:5356404 Change-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca
* Add video snapshot camera parameter.Wu-cheng Li2011-09-011-0/+19
| | | | | | | | The API is still hidden. bug:5187868 Change-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb
* Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.Wu-cheng Li2011-08-181-6/+17
| | | | | | | The API is still hidden. bug:5086125 Change-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081
* Add camera bayer image format.Wu-cheng Li2011-08-041-0/+3
| | | | | | | | The API are hidden. bug:5086073 Change-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc
* Pass camera frame metadata from camera service to Java.Wu-cheng Li2011-08-022-3/+7
| | | | | bug:4460717 Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
* Add camera recording hint parameter.Wu-cheng Li2011-08-021-0/+11
| | | | | | | The API is still hidden. bug:4266229 Change-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2
* Add camera face detection API.Wu-cheng Li2011-07-271-0/+10
| | | | | | | API are still hidden. bug:4460717 Change-Id: I1a515061f141a89bd61c875257712789fb15d2d4
* Add framework support for camcorder zoom.Wu-cheng Li2011-06-273-3/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to allow applications using the camera during recording. Camera service allows only one client at a time. Since camcorder application needs to own the camera to do things like zoom, the media recorder cannot access the camera directly during recording. So ICameraRecordingProxy is a proxy of ICamera, which allows the media recorder to start/stop the recording and release recording frames. ICameraRecordingProxyListener is an interface that allows the recorder to receive video frames during recording. ICameraRecordingProxy startRecording() stopRecording() releaseRecordingFrame() ICameraRecordingProxyListener dataCallbackTimestamp() The camcorder app opens the camera and starts the preview. The app passes ICamera and ICameraRecordingProxy to the media recorder by MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in MediaRecorder::start(). After setup, the recorder disconnects from camera service. The recorder calls ICameraRecordingProxy::startRecording() and passes a ICameraRecordingProxyListener to the app. The app connects back to camera service and starts the recording. The app owns the camera and can do things like zoom. The media recorder receives the video frames from the listener and releases them by ICameraRecordingProxy::releaseRecordingFrame. The recorder calls ICameraRecordingProxy::stopRecording() to stop the recording. The call sequences are as follows: 1. The app: Camera.unlock(). 2. The app: MediaRecorder.setCamera(). 3. Start recording (1) The app: MediaRecorder.start(). (2) The recorder: ICamera.unlock() and ICamera.disconnect(). (3) The recorder: ICameraRecordingProxy.startRecording(). (4) The app: ICamera.reconnect(). (5) The app: ICamera.startRecording(). 4. During recording (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp() (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame(). 5. Stop recording (1) The app: MediaRecorder.stop() (2) The recorder: ICameraRecordingProxy.stopRecording(). (3) The app: ICamera.stopRecording(). bug:2644213 Change-Id: I15269397defc25cbbcae16abc071c8349c123122
* Merge "Improve android.hardware.Camera.Area javadoc."Wu-cheng Li2011-06-071-2/+2
|\
| * Improve android.hardware.Camera.Area javadoc.Wu-cheng Li2011-06-071-2/+2
| | | | | | | | | | bug:4553469 Change-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59
* | CameraParameters: add PIXEL_FORMAT_RGBA8888Iliyan Malchev2011-06-061-0/+1
|/ | | | | Change-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Add auto-white balance locking to the Camera API.Eino-Ville Talvala2011-05-171-15/+44
| | | | | | | | | | | Adds a new camera parameter for locking auto-white balance to its current value. Also adds a function for checking if auto-white balance lock is supported by the current platform. Lock semantics match that of the auto-exposure lock. Hidden for now. Change-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2
* frameworks/base: switch CameraService to a HAL moduleIliyan Malchev2011-05-031-266/+0
| | | | | | | | | | | | | | | This patch changes CameraService to load a camera HAL module, instead of linking directly against a library that implements the CameraHardwareInterface class. CameraHardwareInterface no longer defines the API to the camera HAL. Instead, this is now in HAL header hardware/camera.h. We keep CamerHardwareInterface as a class local to CameraService, which wraps around the new HAL calls. In the future, we may remove this class entirely and have CameraService call the HAL methods directly. Change-Id: I5c61ac40078fc0b50bbac5881a556fe6c8837641 Signed-off-by: Iliyan Malchev <malchev@google.com>
* frameworks/base: include system/core header camera.h in Camera.hIliyan Malchev2011-05-031-101/+7
| | | | | | | | | | | | We define struct CameraInfo in this camera/Camera.h, even though an identical struct camera_info is defined in hardware/camera.h (but not in hardware/camera_defs.h). We may not export struct definitions from the HAL into headers which may find their way into the NDK. This commit also renames FRAME_CALLBACK_FLAG_xxx to CAMERA_FRAME_CALLBACK_xxx. Change-Id: I3e2ddd01d61bf5371ff2fc1a397995e0f1ee11f8 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Add an auto-exposure lock feature to the Camera API.Eino-Ville Talvala2011-05-021-0/+20
| | | | | | | | | | Adds a new camera parameter for locking auto-exposure to its current value. Also adds a function for checking if auto-exposure lock is supported by the current platform. Hidden for now. Change-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6
* Clarify the meaning of weight in the focus and metering area HAL.Eino-Ville Talvala2011-04-251-9/+12
| | | | | | | | | Weigh values must be less than 1000, but have no restriction on their sum. Weights should be interpreted as per-pixel values, meaning larger areas will have more influence over focus/metering than smaller areas of the same weight. Change-Id: I988b74f988ddba2ff0c49d078ff3174b47cbae18
* Add camera metering area API.Wu-cheng Li2011-04-131-0/+38
| | | | | | | The API are still hidden. bug:3475893 Change-Id: Id4147528def5e0fe067e1a3ed315fa34c14a0640
* Add camera focus area API.Wu-cheng Li2011-04-081-0/+38
| | | | | | | | The API are still hidden. bug:3475893 Change-Id: I92405c9e332b7fb141788cda7ebc9705dd666c67
* frameworks/base: some camera-interface cleanupIliyan Malchev2011-03-283-66/+0
| | | | | | | | | Methods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct image_rect_struct are no longer used (instead, the necessary information is passed through ANativeWindow.) Change-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb Signed-off-by: Iliyan Malchev <malchev@google.com>
* Merge "Add YV12 preview format to camera parameter constants."Wu-cheng Li2011-02-241-2/+1
|\
| * Add YV12 preview format to camera parameter constants.Wu-cheng Li2011-02-241-2/+1
| | | | | | | | | | bug:3463624 Change-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e
* | Application-managed callback buffer support for raw imageJames Dong2011-02-222-14/+21
|/ | | | | | bug - 3292153 Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
* Add camera service support for SurfaceTexture.Jamie Gennis2011-01-062-0/+9
| | | | | | | This change enables the use of a SurfaceTexture in place of a Surface as the destination of camera preview frames. Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
* Fixed a typo in the enum for unknown camera error messageJames Dong2011-01-041-1/+1
| | | | Change-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a
* We requires camera hal's implementation should not track the ref count of ↵James Dong2010-12-101-1/+19
| | | | | | | | any outstanding video frames and ignore releaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME). Change-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c
* remove support for PUSH_BUFFER surfaces and overlaysMathias Agopian2010-12-081-8/+0
| | | | | | | the same functionality is now supported through the h/w composer HAL, and YUV support in the GPU. Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
* Add preferred preview size support in the camera frameworkJames Dong2010-11-301-0/+23
| | | | | | bug - 3237021 Change-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b
* am fb6f4505: am 589e8381: Merge "Improve camera documentation." into gingerbreadWu-cheng Li2010-11-193-17/+28
|\ | | | | | | | | * commit 'fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6': Improve camera documentation.
| * Improve camera documentation.Wu-cheng Li2010-11-193-17/+28
| | | | | | | | | | bug:3212606 Change-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce
| * Mirror the preview for front-facing cameras. do not mergeWu-cheng Li2010-10-201-0/+12
| | | | | | | | | | | | | | | | Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V or FLIP_H first. The formula should be changed after overlay is fixed. bug:3059865 Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
* | Mirror the camera preview if the camera is front-facing.Wu-cheng Li2010-10-251-0/+12
| | | | | | | | | | bug:3095272 Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
* | Camera framework change required for 0-memcpy recordingJames Dong2010-10-192-0/+18
| | | | | | | | | | | | bug - 3042125 Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
* | Camera hal change for 0-memcpy in media recording frameworkJames Dong2010-10-191-51/+76
| | | | | | | | | | | | | | | | o document the camera hal to clarify the reviewer's questions. bug - 3042125 Change-Id: I3edf701d084933ee8d1e3b054d222e8c9dfc42a5
* | 0-memcpy video recording frameworkJames Dong2010-10-071-0/+53
| | | | | | | | | | | | Part II: proposed camera hal change Change-Id: I51663cf5de2b00f71e4ff1828080094676065444
* | Video size retrieval/configuration support in camera halJames Dong2010-10-031-0/+31
| | | | | | | | | | | | | | | | | | This is the first part of the camera hal change required for 0-memcpy of input video frames for video recording. o removed check in setVideoSize()/getVideoSize() for impl consistency Change-Id: I01274a62b9f9eaf32154d98f8d0bfedacf645698
* | Fix the CameraHardwareInterface::setPreviewWindow comment.Jamie Gennis2010-09-251-1/+1
| | | | | | | | Change-Id: Ied7eb7872e581e23d9f6f02a551320cdd675e51e
* | am 2ad1ebca: am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to ↵Wu-cheng Li2010-09-211-6/+8
|\ \ | |/ | | | | | | | | | | | | | | FOCUS_MODE_CONTINUOUS_VIDEO. Merge commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd' * commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd': Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.
| * Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.Wu-cheng Li2010-09-211-6/+8
| | | | | | | | | | | | | | | | | | | | This constant is not public yet. Continuous autofocus should behave differently in still camera and camcorder. In camcorder, lens movement may be more smooth. And the triggers to start a new focus search may be different. If there is a need, FOCUS_MODE_CONTINUOUS_PHOTO can be added in the future. Change-Id: I05df9e491aca37829be3df92a73b952f26c86a4a
* | Add YUV420P color format support for video output from camera halJames Dong2010-09-161-1/+4
| | | | | | | | Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
* | Added command type to play recording sound.Nipun Kwatra2010-09-141-0/+3
| | | | | | | | | | | | | | | | | | Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording sound through sendCommand. This is currently needed by time lapse recording using still mode capture, which disables the shutter sound but needs to play the recording sound. Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
* | Adding enable/disable option for sendCommand()Nipun Kwatra2010-09-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | - Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to command type for enabling/disabling shutter sound. - The implementation checks if it is legal to disable shutter sound. If it is, then any process can disable the sound. If not, then only the mediaserver process is allowed to do this. Currently time lapse capture needs this functionality to disable shutter sound when still mode is used to capture time lapse video. Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
* | am 6e46e6f7: am 7ec7b997: Remove camera metering mode API.Wu-cheng Li2010-08-301-17/+0
|\ \ | |/ | | | | | | | | | | Merge commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5' * commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5': Remove camera metering mode API.
| * Remove camera metering mode API.Wu-cheng Li2010-08-301-17/+0
| | | | | | | | | | | | Metering mode is not supported yet. Change-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e
* | am 346b6126: am 97a56269: Merge "Add camera fps range API." into gingerbreadWu-cheng Li2010-08-241-0/+15
|\ \ | |/ | | | | | | | | | | Merge commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e' * commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e': Add camera fps range API.
| * Merge "Add camera fps range API." into gingerbreadWu-cheng Li2010-08-201-0/+15
| |\
| | * Add camera fps range API.Wu-cheng Li2010-08-201-0/+15
| | | | | | | | | | | | | | | | | | | | | Original preview frame rate API assumes the frame rate is fixed. It does not not work with auto frame rate camera. Change-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a
* | | Change the framework to use the new camera preview path.Jamie Gennis2010-08-233-9/+7
|/ / | | | | | | | | | | | | | | | | | | | | | | This change makes the camera HAL interface take an ANativeWindow interface from which all the camera preview buffers will be allocated. The framework code running in application processes now passes a Surface object rather than an ISurface to the camera server via Binder when setting the preview surface. The camera server then forwards that Surface object (which implements the ANativeWindow interface) to the camera HAL, which uses it to communicate with SurfaceFlinger to allocate the camera preview buffers. Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
* | Handle the camera open failure better.Wu-cheng Li2010-08-191-0/+1
|/ | | | | | Check if camera hardware is NULL to avoid mediaserver crash. Change-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c
* Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGENipun Kwatra2010-08-191-0/+1
| | | | | | | | Moved functionality to parse string of sizes from getSupportedPictureSizes to parseSizesList. Added getSupportedPreviewSizes which returns a list of supported preview sizes. Change-Id: I41d4f62f9f1641e9e9258aa2ebaeda13ba846c02
* Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGENipun Kwatra2010-08-191-0/+16
| | | | | | | | Also added a struct 'Size' containing a width and a height field. Modified parse_size to optionally set an end pointer pointing to the character after the found size. Change-Id: I0c95ebf1ad4684721b32165f363db7d4d15a1b19