| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Fixes b/5370657... again
Change-Id: I998d2292d25b76b67b1fbd2ff6bd65e854c176c8
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I0702a4b5fc35ef8435b1914b8e81f39b3e7ea0b4
related-to-bug: 5382682
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
bug:5219431
Signed-off-by: Heechan Park <heech.park@samsung.com>
Change-Id: I5659f94273e6e4b79395742edb00799a64ecfd46
|
|
|
|
|
|
|
|
|
| |
Set EXIF maker to ro.product.manufacturer and EXIF model to
ro.product.model.
bug:5404097
Change-Id: Ibeaa2225b2593ae7cdcbf75f85e1923095017db6
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
Do not release focus lock during stopPreview and after
takePicture.
bug:5356404
Change-Id: Ib7078f5261ee21579143c4519896d1b13874697b
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
mParameters was not updated based on the setParameter
from the app.
Change-Id: I24a4cdec9355ea677c7e09f9060989d2c6f40ac3
Signed-off-by: Sundar Raman <sunds@ti.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Filter faces coming from Ducati to smooth out the jitter.
This patch requires the face tracking mechanism in Ducati
so faces are ordered properly for each frame. Also, this patch
is only providing filtering of face sizes since Ducati is already
smoothing the face positions.
b/5141268
Change-Id: Ia7ee1c46ca41fcdd1e45505242f2802b0b4fb647
Orginal-author: Mandeep Kumar <mandeep@ti.com>
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When user does tap to metering followed by zoom, the
app calls cancelAF. So we need to allow this in the
state machine.
Change-Id: I0fd0faaa136768e8bae8504cf58b5e9f247f3dc1
Signed-off-by: Sundar Raman <sunds@ti.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. Get and store Y and UV pointers from
all gralloc handles to be used for
preview callback and video frames.
2. Ensure gralloc lock is successfull
before frame return to OMXCameraAdapter
Change-Id: Ibeea6d00f2c1a1c45bcd2eafb22b90a795516e5c
Signed-off-by: Akwasi Boateng <akwasi.boateng@ti.com>
|
|/
|
|
|
| |
Change-Id: I2ca38e60f7a47d149aa5696ff8d8ca3246d2d479
Signed-off-by: Sundar Raman <sunds@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Slight fix to the KEY_RECORDING_HINT logic. If we are already
recording then we can just ignore the recording hint logic. Also,
if recording has already started then we would already be in video
mode anyways.
b/5332829
Change-Id: I372f43dd961f137c204ce60f20de3bdd793f02ed
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
|
|
|
| |
Previously, we were using localtime instead of gmtime for exif
timestamps and datestamps.
b/5314200
Change-Id: I3e83b05a3fb5dacce0b29a5b4f99bb27a14ad2c3
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
|
| |
Fix debug macro mismatch and some levels from "CameraHal:
Error handling before sending frames"
Change-Id: Ib8b4a7b09b32246aa9d972b91a72f53a139e5773
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
|
|
| |
1) Add API to use OMX_IndexConfigImageFocusLock to lock autofocus
2) Remove FIXME to always return true status when CAF is set
Change-Id: Ie195206243bc1f750954def5f4f9f4466295bc7c
b/5338488
|
|
|
|
|
|
|
|
| |
If stopRecording comes before OMXCameraApdater can signal for
endImageCapture...go ahead and end image capture from stopRecording
Change-Id: I7c8142ba95475d823c9569cf9e72338d2da53f14
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
| |
Dont enable GBCE for image capture
Change-Id: Ic9536e1cb008aae1e96108a6fbdef7e3f2583c90
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This is a temporary workaround for platforms,
where '6' buffers are currently unsupported.
There setting the ZSL history length like
this will crash any camera client, which
does not configure the capture mode explicitly.
- Contains also some minor fixes on the status code
handling.
Change-Id: Ib9163698135d463212c23304778a3d6959e0034c
Original-author: Emilian Peev <epeev@mm-sol.com>
Signed-off-by: Emilian Peev <epeev@mm-sol.com>
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
| |
Change-Id: Ifb1434f9fd1c85f040d67f3df6fb7c4a86e135db
Signed-off-by: Sundar Raman <sunds@ti.com>
|
|
|
|
|
| |
Change-Id: Idfc506812d6e0f1d88bdc5d7d62c159f9c9ad642
Signed-off-by: Sundar Raman <sunds@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding a few error checks before sending frames to make
sure we have the proper conditions to send a frame.
Fixes a bug where FillBufferDone gets preempted by the stop
path and by the time it returns the buffers and subscribers
are freed. Adding checks in send frame context since it is
protected by a Mutex.
Change-Id: I860bee796669606e1ec3e26e19916f386fc3e9aa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No bug filed for this, but it results in a crash. We can say it's a partial
fix for b/5316293
1. Clean-up notifyFrame a bit by using a common function
to send data callbacks. This ensures common functionality
for the all frame types.
2. Flush all the frames after stopping AppCallbackNotifier
to ensure notifyFrame doesn't operate on the buffers.
Change-Id: I4b0c8a595ea5474e8c8f5f98cfee16e6c1bde949
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
| |
Fixes b/5316293
Change-Id: Ib48ce6d9ceee3e1eed2e4af958d36682da9b6a5c
Signed-off-by: Tyler Luu <tluu@ti.com>
|