summaryrefslogtreecommitdiffstats
path: root/camera
Commit message (Collapse)AuthorAgeFilesLines
...
* Flash and WB are not restored in video mode when camera comes to foregroundHeechan Park2011-10-181-6/+8
| | | | | | | | | | | | | | Fixes b/5475271 1) Switch to video mode, enable Flash to ON 2) Press Power key, Flash is switched oFF 3) Press power key and open camera, Flash is Not switched ON. Fix: Updating the WB, Flash and Focus values only when Scenemode is active. Change-Id: I35f852c2611644e0115bbf12f5110d92374e6c90 Signed-off-by: Braganza Sam Roberts <sam.braganza@samsung.com> Signed-off-by: Heechan Park <heech.park@samsung.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* CameraHal: Re-apply CAF after canceling auto focusTyler Luu2011-10-181-0/+3
| | | | | | | | | | Sometimes CAF is not restarted after canceling AF, go ahead and re-apply CAF for this case. b/5475271 Change-Id: I425bd94401aa6b9dcd5eed5c7294d7d88ddddfc0 Signed-off-by: Tyler Luu <tluu@ti.com>
* Camera HAL Optimizations for cold startup timeSundar Raman2011-10-181-10/+12
| | | | | | | | 1. Removes 100mS latency introduced in OMX_GetHandle 2. Calls apply3ASettings and advanceZoom after sending the callback to display (saves ~30mS) Change-Id: I58a1f81ede4439cd19587c8390681062792fb5a8 Signed-off-by: Sundar Raman <sunds@ti.com>
* CameraHal: Add 960x720 preview resolutionTyler Luu2011-10-181-0/+1
| | | | | | | b/5469299 Change-Id: I5e5e9aac09a162708896376bb78697c9f48c075d Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Share a lock for exec and loaded switchTyler Luu2011-10-182-8/+10
| | | | | | | | | | Share a lock between switchToLoaded function and doSwitchToExecuting, so the two don't try to switch state at the same time. b/5472446 Change-Id: I425943b97b7f08d1f7812214e4a305eb86af1ff9 Signed-off-by: Tyler Luu <tluu@ti.com>
* fix buildMathias Agopian2011-10-161-1/+3
| | | | Change-Id: Ic73a853116d3c92cb53f53c091852d1b4b24e7f2
* check sensor manager initialization succeededMathias Agopian2011-10-161-0/+5
| | | | | Bug: 5445240 Change-Id: Ic4bc7b7daecd49dcc254693afd6870d886ee6506
* CameraHal: Handle dynamic switch in setParametersTyler Luu2011-10-151-20/+13
| | | | | | | | | | | | | | | | | Instead of stopping preview in start preview for a dynamic switch. Go ahead and stop preview in setParameters. Need to force stop preview so all the buffers will be unlocked in case application captures an image and switches to camcorder mode before it restarts preview. Otherwise, camera service will disconnect the window while we are still holding locks for the buffers. Error log: "gralloc_unregister_buffer: Cannot unregister a locked buffer" Change-Id: Ic252609e5fbcfde569e1dbd8614572df6392bade Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Fixes for #testVideoSnapshotTyler Luu2011-10-157-70/+131
| | | | | | | | | | | | | 1. Add raw notify callback for video snapshot 2. Add new state for video capture + AF 3. We were not populating focal length correctly for jhead. Need to send focal length as a rational in this format "xx/yy" 4. Need to send GPSProcessingMethod as an UNDEFINED ASCII to jhead b/5448171 Change-Id: Ie6be9ad821d1fa106d9c857681f2fa6427d4f283 Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Remove some unused code from SensorListnerTyler Luu2011-10-151-6/+0
| | | | | Change-Id: I37e332efb9e8de99e1eac5be6fc8c7c9c376c7fa Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHAL: Re-enable Face prioritized AE in startFaceDetectionSundar Raman2011-10-151-4/+1
| | | | | Change-Id: Id3639656e4856019221a35d2fc308626e45cb405 Signed-off-by: Sundar Raman <sunds@ti.com>
* CameraHal: Allow EV compensation w/ preset sceneTyler Luu2011-10-152-12/+16
| | | | | | | | CameraHal was previously ignoring EV compensation when a scene mode was set. Change-Id: I15023a5c6019ca333a4ce40f178a8e4ef53be387 Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Enable 3A feedback for scene modesTyler Luu2011-10-154-139/+275
| | | | | | | | | When a scene mode is set by the application, some 3A parameters will be updated by Ducati. Feed these parameters back to the application. Change-Id: I07afec0315d2807470037388572d0bc7ee8c3ad8 Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Adapt to new framework vstab paramTyler Luu2011-10-1410-77/+69
| | | | | | | | change to use the new KEY_VIDEO_STABILIZATION parameter from the framework instead of using TICameraParameter definition. Change-Id: Ifed4c147e6ad3c02b35772343d9d339ab1402eac Signed-off-by: Tyler Luu <tluu@ti.com>
* omap4xxx: camera: not an error when callback threads are already runningIliyan Malchev2011-10-131-1/+5
| | | | | | | | | | | | Potential fix for b/5431225 (if not, it will point in the right direction) -- When CallbackThread or OMXCallbackThread is already running during initialization(), do not treat this as an error. -- Print an error on logcat when the OMX component state is not as expected during intialization Change-Id: Icf7312e609a7a17ccaf412d3c3fe6a5075de00f7 Signed-off-by: Iliyan Malchev <malchev@google.com>
* CameraHAL: Switch default focus mode back to autoSundar Raman2011-10-121-1/+1
| | | | | | | | | | | Since Barcode scanner app doesnt support continuous auto focus and the locking semantics around autoFocus api. Fixes b/5434919 Change-Id: Ie45f1553e468f2d25fee256dab2492713add2744 Signed-off-by: Sundar Raman <sunds@ti.com>
* CameraHAL: Restore zoom stages back to 60Sundar Raman2011-10-123-16/+46
| | | | | | | | | | This provides for a smooth zoom experience with immediate zoom This reverts commit a38ea5631d139c3d5ffd4e181df2216dbce1b10c. Fixes b/5251916 Change-Id: If1724ec2ad5d3106e10ee5c2e691f99c19675eaf
* CameraHAL: Pass zoom values smoothlySundar Raman2011-10-123-10/+29
| | | | | | | | | | | | | Update the zoom values to the ducati only in the fillBufferDone callback if another zoom request is already in progress. However, overwrite the zoom value with the latest value requested by the application Fixes b/5251916 Change-Id: I419baadb2ddd094277f003ddf25f63dca5d078f8 Signed-off-by: Sundar Raman <sunds@ti.com>
* omap4xxx: camera: various fixesSundar Raman2011-10-074-43/+31
| | | | | | | | | | | | | | | | | | | clean up resources properly on exit: - Frees all resources in case of error during preview buffer allocation in ANativeDisplayAdadapter. - Fixes a couple of typos in BaseCameraAdapter. - Removes a possible memory leak during temporal bracketing. 'stopBracketing()' will never get properly executed when 'startImageCapture()' disables 'mBracketingEnabled'. - Stops temporal bracketing properly inside 'signalEndImageCapture()'. Change-Id: Ic122058c835e30f12f335a288164475b8f6d1c6d Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Sundar Raman <sunds@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: remove a couple of error messagesSundar Raman2011-10-071-12/+15
| | | | | | | | | | | | | | Logspam reduction: - VFR shouldn't be configured when the port framerate is smaller than the maximum framerate. - Debug information for the capture mode should not be tagged as an error. Change-Id: I0b3ad926a0ff1e0bd2ee405893d8730b9e79a599 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Sundar Raman <sunds@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: re-enable postview callbackTyler Luu2011-10-072-18/+8
| | | | | | | | Fixes b/5370657... again Change-Id: I998d2292d25b76b67b1fbd2ff6bd65e854c176c8 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* CameraHal: Fix issue with not setting 3A settingsTyler Luu2011-10-071-3/+3
| | | | | | | | Accidently redefined some of the values for 3A settings enum in 3a general settings header file. Change-Id: I84b72ae0516d0362d381c4fa1d597cae86571fd7 Signed-off-by: Tyler Luu <tluu@ti.com>
* GRALLOC_USAGE_EXTERNAL_DISP should not be used for CameraJames Dong2011-10-071-1/+0
| | | | | Change-Id: I0702a4b5fc35ef8435b1914b8e81f39b3e7ea0b4 related-to-bug: 5382682
* omap4xxx: camera: apply 3A settings after auto scene mode changeAkwasi Boateng2011-10-071-17/+17
| | | | | | | | | Apply pending 3A settings when user switches from any scene mode to auto scene mode. Change-Id: I8f53cbede51c175b88321c59418792dae801216d Signed-off-by: Akwasi Boateng <akwasi.boateng@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: set capture settings only if changedTyler Luu2011-10-073-39/+78
| | | | | | | | | | | Partial fix for b/5371242 Only set capture configs when they have changed from our current setting to save some SetConfig time. Change-Id: I68d7b7ebd4be3273abd534ce8e939da62d38d481 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: set GLBCE/GBCE only if changedTyler Luu2011-10-071-2/+2
| | | | | | | | | | | | Partial fix for b/5371242 When GLBCE/GBCE was not set, we were always calling SetConfig for the default value for every SetParameters. Add some logic to only set them if they have changed. Change-Id: I30229556b55260f572bee56054422f7edb07df42 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: only set CameraAreas if changedTyler Luu2011-10-074-9/+43
| | | | | | | | | | | | Partial fix for b/5371242 Add logic to compare areas for metering and focus before calling SetConfig for the respective indices so we only set the areas if the areas have changed Change-Id: Id6b55e3d8e78557f45b92a5afefdb8298450da61 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: set face priority for algos when starting face detectionMilen Mitkov2011-10-071-0/+9
| | | | | | | | | | Sometimes (rarely) startFaceDetection() may be called after setFocusMode() and this causes the face priority for algos to not be set. This patch sets the face priority in startFaceDetection(). Change-Id: I0805c0a0c86b4a2b122d294e9a73374e83dd3330 Signed-off-by: Milen Mitkov <mmitkov@mm-sol.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: update Focus areas in setParameters, not in setFocusModeAtanas Stefov2011-10-072-11/+16
| | | | | | | | | | | | | | | | Fixes b/5429270 When you touch to focus, the camera app calls setParameters to pass the focus areas to the Ducati, followed by a call to autoFocus to start AF. Because the focus areas were not getting updated instantly in the camera HAL before AF began, on the one hand, and because the Ducati locks the focus regions after AF begins, the AF region settings were being ignored. This patch allows focus areas to be set immediately. Region priority is set in doAutoFocus() when non-zero area is set in FOCUS_REGION. Change-Id: I90c86f9de0d090f24b8595b325dbf06f1f718630 Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: timing issue with autoFocus/cancelAutoFocusTyler Luu2011-10-072-2/+21
| | | | | | | | | | | | | | | | | | | | | | Fixes b/5332895 If cancelAutoFocus comes when Ducati is already sending focus callback, CameraHal will go ahead and send focus callback to the application. This can cause the subsequent autoFocus call to be acked almost immediately with the previous autoFocus call's notification. Application will think autoFocus is done while CamearHal is still focusing, takePicture from the application will return an error. To fix this issue, do not always send focus notification. We are going to internally enable/disable auto focus message. Enable focus message when autoFocus call comes and disable focus message after notification or if cancelAutoFocus call comes. This will prevent us from sending notify message if application calls cancelAutoFocus. Change-Id: I8c8892f14894e23a9d73fa1c2b058389d196eefa Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: switch to executing state when surface is nullAkwasi Boateng2011-10-076-36/+183
| | | | | | | | | | Partial fix for b/5422679 To enhance standby to first shot performance Change-Id: Ib32e8120a7908419c76e8cf2f1830f0667b258c0 Signed-off-by: Akwasi Boateng <akwasi.boateng@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: cancel and flush for SW JPEG encoderTyler Luu2011-10-073-9/+46
| | | | | | | | | | | | | | | | Fixes b/5378650 1. Add method to externally cancel Encoder class while in the middle of encoding. 2. Add queue in AppCallbackNotifier to track all the encoding sessions. When stopping AppCallbackNotifier if any encoding sessions are still ongoing, cancel and wait for the threads to return. Previously, it was possible for Encoder threads to still be running when the preview and images buffers were freed. Change-Id: Ib123d1644dfa7058a6f50f0001b4d05359853827 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: EXIF thumbnail for video snapshotTyler Luu2011-10-078-101/+308
| | | | | | | | | | | | | | | | | Fixes b/5370657 1) Extend NV12 resizer to take stride insteadof hardcoding stride 2) Change Encoder class interface to support encoding a thumbnail and main jpeg image. Encoder will resize/encodethumbnail in parallel while encoding the main jpeg. Only NV21/NV12 resizing is supported. Thumbnail is created withpost view frame. 3) Add interface in Encoder class to replace thumbnail with jhead. 4) Height and width fields of EXIF are not proper. Fixed. Change-Id: I5d0063357e4e9e327d22805c2dddf8f630d22e7b Signed-off-by: Raji Reddy Kandi<rajireddy.k@samsung.com> Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* omap4xxx: camera: send different preview and video buffers for MMS modeAkwasi Boateng2011-10-0711-15/+767
| | | | | | | | | | | | | | | | | | Fixes b/5265389 b/5156090 1. Add support to send different preview and video buffers to framework in MMS mode. 2. For resolutions less than or equal to QVGA, preview resolution will be changed to a bigger resolution matching the aspect ratio of the preview resolution. 3. During record the changed resolution will be resized to the original resolution and sent to the encoder. 4. Modified NV12 resizer routine to account for frame offset and stride to avoid double memcpy of the buffers Change-Id: If66aa1fd861078d0a63b4a77a1bdc20d4c6bccda Signed-off-by: Akwasi Boateng <akwasi.boateng@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* CameraHal: Allow only certain number of instancesTyler Luu2011-10-079-249/+219
| | | | | | | | | | | | | | | | | 1) Protect against simultaneous access to camera_device_open 2) Set a value of MAX_SIMUL_CAMERAS_SUPPORTED to dictate number of simultaneous cameras that can be open at once. Set to 1 for now in this patch. Return error if more is requested. 3) Change OMXCameraAdapter to allocate new instance for each factory create call. 4) Add lock to capabalities factory function in OMXCameraAdapter to protected against multiple OMXCamera GetHandles... b/5401791 b/5404200 b/5405235 Change-Id: I179d493f8070d228877ebfac637047978afc7d55 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* Enabling Fast Shot2shot by disabling AF scan in the CAF modeHeechan Park2011-10-051-14/+1
| | | | | | | bug:5219431 Signed-off-by: Heechan Park <heech.park@samsung.com> Change-Id: I5659f94273e6e4b79395742edb00799a64ecfd46
* Set EXIF maker and model to system properties.Wu-cheng Li2011-10-051-3/+9
| | | | | | | | | Set EXIF maker to ro.product.manufacturer and EXIF model to ro.product.model. bug:5404097 Change-Id: Ibeaa2225b2593ae7cdcbf75f85e1923095017db6
* CameraHAL: Improved error handling inside the adaptersSundar Raman2011-09-275-128/+195
| | | | | | | | | | | | | 1. unlock and cancel buffers to ANativeWindow when freeBuffers is called 2. Free the omx handle and deinitialize DOMX when errors occur while calling critical OMXCamera apis 3. Retry OMX_GetHandle if it fails to take care of error recovery scenarios. "Fixes b/5379663" Change-Id: I4729fab40e6104dfa6660ba6f6b1a90f805c2f59 Signed-off-by: Sundar Raman <sunds@ti.com>
* CameraHal: Changes to releasing of focus lockTyler Luu2011-09-272-14/+0
| | | | | | | | | | Do not release focus lock during stopPreview and after takePicture. bug:5356404 Change-Id: Ib7078f5261ee21579143c4519896d1b13874697b Signed-off-by: Tyler Luu <tluu@ti.com>
* Make previous zoom index a member variableAkwasi Boateng2011-09-233-4/+4
| | | | | | | | | Change previous zoom index variable from static to member variable since variable is not reset when application is closed or during suspend resume. Change-Id: I7a757655dc7e5b30d21716dd38908f3d18131cde Signed-off-by: Akwasi Boateng <akwasi.boateng@ti.com>
* CameraHal: Do not unset exposure/wb lock in stopPreviewTyler Luu2011-09-231-11/+0
| | | | | | | | Did not remove code that explicitly unsets white balance and exposure lock in stopPreview after capture case. Change-Id: I1f990eb0819223c3642205584d2124bccc47355c Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Timing issue in returning focus callbackTyler Luu2011-09-231-2/+4
| | | | | | | | | | | If the CommandHandler thread in OMXCameraAdapter preempts the main thread before the AF state can be commited, there was a chance that we would never send a focus callback. This patch makes returnFocusStatus check for next state as well as current state. Change-Id: I7dfd68061ab5391bea1d12f5c978dba7544bfc9a Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHal: Add metering area mutexTyler Luu2011-09-232-0/+5
| | | | | | | | | mMeteringAreas needs to be protected by a mutex so it's not cleared or modified while setting it Ducati. Change-Id: I0ca8f5e3b57b88b518a8e1ab22c442c21131e39c Signed-off-by: Tyler Luu <tluu@ti.com>
* Change ducati camera internal buffers to 5Sarthak Aggarwal2011-09-221-1/+1
| | | | | | | | | | | | | | Fixes b/5342251 This creats more space in ducati heap to accomodate a decoder and camera in ZSL mode. Also, 5 buffers are sufficient to give a -ve 110ms delay required by ZSL. Change-Id: If779c91a82441ea100fc1182fab7a2a17f986544 Signed-off-by: Sarthak Aggarwal <sarthak@ti.com> Signed-Off-by: Vladislav Hristov <vhristov@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* CameraHal: Changes to 3A lock implementationTyler Luu2011-09-223-42/+42
| | | | | | | | | | | | | | | | 1) Only take user set values for AE and AWB locks. Decouple interaction between AE/AWB locks and AF/takePicture/stopPreview 2) When in CAF mode, if we query AF and see that focus is already locked, we do not have to call SetConfig for OMX_IndexConfigFocusControl. Just return the status to upper layers instead. 3) If user doesn't call cancelAutoFocus after a doAutoFocus call, we need to forcefully unlock AF to ensure we do a scan. This would also essentially render CAF as normal auto AF. bug:5356404 Change-Id: I5bb840ca0122d8a9387f72290d2b421703dba23d Signed-off-by: Tyler Luu <tluu@ti.com>
* OMXCameraAdapter: Update timstamp calculation and commentDevaraj Rangasamy2011-09-212-7/+10
| | | | | | | | | | | | In timestamp calculation, latency incurred in Ducati camera buffer reaching CameraHal should be considered Patchset 2: - Updated variable name, migrated to header file - Update comment description Change-Id: Icc93c27a66477867e9c415b139a331646eb2fba8 Signed-off-by: Devaraj Rangasamy <dev@ti.com>
* CameraHAL: CTS fixes related to #testMeteringAreasSundar Raman2011-09-214-20/+19
| | | | | | | | | | | | | | | | | | - The status of "parseAreas()" should always be checked in order to return proper error code in case of invalid input arguments. - If the input metering areas are more than the supported ones, then always return an error. - 'parseAreas()' expects the buffer size, not the string length. - Refactors "parseFocusAreas()' to the more general 'parseAreas()'. Change-Id: I4c70bcaa3c676f525b721916cc39c66db5e0fc17 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Sundar Raman <sunds@ti.com>
* CameraHa: Reset mDynamicPreviewSwitch after startPreviewTyler Luu2011-09-211-0/+1
| | | | | | | | | | mDynamicPreviewSwitch was not being reset after the first startPreview() call. This is causing the preview to be unecessarily restarted for the first capture and causing some hit in performance time. Change-Id: I47e8840414c6da523c40ad04eaad05e841907acb Signed-off-by: Tyler Luu <tluu@ti.com>
* CameraHAL CTS: Update the fps range passed by the appSundar Raman2011-09-211-0/+1
| | | | | | | | mParameters was not updated based on the setParameter from the app. Change-Id: I24a4cdec9355ea677c7e09f9060989d2c6f40ac3 Signed-off-by: Sundar Raman <sunds@ti.com>
* Merge "CameraHal: Add filter to smooth faces from OMXCamera" into ics-factoryromIliyan Malchev2011-09-213-20/+83
|\