summaryrefslogtreecommitdiffstats
path: root/services/camera
Commit message (Collapse)AuthorAgeFilesLines
* Make frameworks/av 64-bit compatibleKévin PETIT2014-02-118-13/+15
| | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* Merge "libcameraservice: Fix build in ISO C++11 mode"Eino-Ville Talvala2014-01-151-5/+5
|\
| * libcameraservice: Fix build in ISO C++11 modeBernhard Rosenkraenzer2013-07-301-5/+5
| | | | | | | | | | | | | | | | Change log macro define so it can't be confused for a C++11 string literal Change-Id: Idcc8085735177aa3313fdea66dc0736cca749f9b Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
* | Camera2: Rework the FPS range vs. FPS single setting detectionEino-Ville Talvala2013-11-142-33/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give up on current approach of writing out consistent FPS values into parameters that will be read back by the app. - Preserve app's latest set parameters exactly, and compare against them when detecting if a new FPS range or single FPS value has been selected. - Since get() returns exactly what was set(), it doesn't matter if the app calls getParameters() before its next setParameters(), in terms of retriggering FPS selection logic. Before, the behavior varied depending on whether the app re-read the parameters. - As before, if app changes both range and single FPS in a single set call, the range set wins. Otherwise, the value that has changed more recently is used. Bug: 11570973 Change-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6
* | Camera API2: Add support for partial result quirkEino-Ville Talvala2013-11-125-14/+29
| | | | | | | | | | | | | | | | | | - Camera3Device: Include requestId in partial 3A results - FrameProcessorBase: Add support for partial result listeners - CameraDeviceClient: Listen and forward partial results to client Bug: 11115603 Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024
* | Camera HAL3/API1: Add support for the partial result quirk.Eino-Ville Talvala2013-11-068-86/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Camera2Client: - Detect partial result quirk - Camera3Device: - Accumulate all partial results together - Fire off 3A-only result once all 3A states are available - FrameProcessorBase: - Filter out partials, don't send to listeners - FrameProcessor: - Skip face detect on partials - Make sure to only handle a 3A update for a given frame once - Trigger AF notifications when AF mode or trigger changes, to properly detect all AF transitions. Bug: 11115603 Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b
* | camera: Collect stack traces when bad things happen, print with dumpsysIgor Murashkin2013-10-295-0/+171
| | | | | | | | | | Bug: 11324229 Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6
* | Camera: don't do hw support check for ZSLZhijun He2013-10-161-13/+5
| | | | | | | | | | | | | | Only use camera.disable_zsl_mode to control disable/enable ZSL. Bug: 11258054 Change-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a
* | Camera: Fix deadlock in Camera3OutputStreamZhijun He2013-10-111-1/+16
| | | | | | | | | | | | | | | | | | | | | | process capture request thread, process capture result and setParameter binder threads can run into circular locking situation when acquiring StreamingProcessor lock, Camera3Stream lock, and bufferQueue lock. Releasing the Camera3Stream lock briefly in process capture request thread getbuffer call can break this deadlock. Bug: 11016037 Change-Id: If08d4b134c26be26039b1d5363759e60f911bad6
* | Merge "Camera: Skip AE precapture when possible" into klp-devZhijun He2013-10-111-0/+12
|\ \
| * | Camera: Skip AE precapture when possibleZhijun He2013-10-111-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Skip AE precapture when AE is already converged for still capture use case. This could save still capture latency 6-7 frame time for AE already converged case. Bug: 10712902 Change-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e
* | | Merge "Camera2/3: Add more tracing for API1" into klp-devEino-Ville Talvala2013-10-117-2/+56
|\ \ \ | |/ / |/| |
| * | Camera2/3: Add more tracing for API1Eino-Ville Talvala2013-10-107-2/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - AF state - Async autofocus completion - Async takePicture completion - Stages of takePicture Bug: 10570497 Change-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3
* | | Camera: Save 1 frame time for takePicture callZhijun He2013-10-093-10/+10
|/ / | | | | | | | | | | | | | | | | | | Move the latest request signal call right before submitting request to HAL, which avoids unnecessary 1 frame time wait. Also fix request status constructor issue, and the log tag for Camera2Client. Bug: 10570497 Change-Id: I0b1818658bee9983b117e49a5a00f1aab515c567
* | Merge "camera2: Don't race while dumping last frame metadata" into klp-devIgor Murashkin2013-10-082-1/+10
|\ \
| * | camera2: Don't race while dumping last frame metadataIgor Murashkin2013-10-072-1/+10
| | | | | | | | | | | | | | | Bug: 11095203 Change-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c
* | | Camera3: Improve resilience to stream failuresEino-Ville Talvala2013-10-082-13/+13
|/ / | | | | | | | | | | | | | | - Handle binder connection drops (DEAD_OBJECT) for streams - Just log an error, don't go to an error state when queue/dequeue fails Bug: 10347526 Change-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc
* | Merge "Camera3: track request status in inflight queue" into klp-devZhijun He2013-10-032-1/+18
|\ \
| * | Camera3: track request status in inflight queueZhijun He2013-10-032-1/+18
| | | | | | | | | | | | | | | Bug: 9758581 Change-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc
* | | Camera API 2, Device 2/3: Implement idle and shutter callbacksEino-Ville Talvala2013-10-0228-301/+950
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update callback Binder interface - Rename frameId to be requestId to be consistent and disambiguate from frameNumber. - Implement shutter callback from HAL2/3 notify() - Add in-flight tracking to HAL2 - Add requestId to in-flight tracking - Report requestId from shutter callback - Implement idle callback from HAL3 process_capture_result - Add new idle tracker thread - Update all idle waiting to use the tracker - Add reporting from request thread, all streams to tracker - Remove existing idle waiting infrastructure Bug: 10549462 Change-Id: I867bfc248e3848c50e71527e3561fe92dc037958
* | Camera: only return static metadata for HAL3 deviceZhijun He2013-10-011-0/+6
| | | | | | | | | | | | | | This effectively disables the camera2 APIs for HAL2.x or lower HAL device. Bug: 10360518 Change-Id: I0f374ac533468c6181f5672c75088b7144b9c53d
* | Camera: drop stale callback bufferZhijun He2013-09-301-0/+10
| | | | | | | | | | | | | | | | | | | | Sometimes, when preview size is changed and preview callback is enabled, stale callback buffer from previous size could be delivered to callback processor because stop preview doesn't guarantee consumer side buffers are properly cleaned up. We need drop these buffers to avoid sending wrong data to app side. Bug: 11009183 Change-Id: If9281e8c02481f883872ce58dfd8660a06d56a47
* | Camera: Set default thumbnail size with matched aspect ratioZhijun He2013-09-302-3/+41
| | | | | | | | | | | | | | Make default thumbnail size match the default still capture size aspect ratio. Bug: 10885012 Change-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e
* | Camera2 API: Hack: Always use async mode with GLConsumerEino-Ville Talvala2013-09-261-1/+18
| | | | | | | | | | | | | | | | Until a cleaner solution is implemented, force buffer queues to consumers that set USAGE_HW_TEXTURE usage to be asynchronous. Bug: 10949105 Change-Id: I69e6b02b773831396767c282ce8c5936c5d41f03
* | Merge "Camera: Implement getCameraCharacteristics" into klp-devZhijun He2013-09-252-0/+39
|\ \
| * | Camera: Implement getCameraCharacteristicsZhijun He2013-09-252-0/+39
| | | | | | | | | | | | | | | | | | Bug: 10904541 Bug: 10360518 Change-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017
* | | Merge "Camera2/3: Support new PASSIVE_UNFOCUSED AF state" into klp-devEino-Ville Talvala2013-09-251-0/+3
|\ \ \ | |/ / |/| |
| * | Camera2/3: Support new PASSIVE_UNFOCUSED AF stateEino-Ville Talvala2013-09-201-0/+3
| | | | | | | | | | | | | | | Bug: 10860639 Change-Id: I39be64abaf79b49b2d1f74e1c2ab2adf718ae701
* | | Camera2/3: Properly disambiguate FPS range vs. single FPS settingEino-Ville Talvala2013-09-202-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The camera1 API allows for either setPreviewFrameRate or setPreviewFPSRange, so both values may or may not change in a single setParameter call. The disambiguation of which setting has been changed since the last setParameter() call was not fully correct, so a sequence of changes that only changed setPreviewFPSRange or didn't change either could be interpreted as as a change to setPreviewFrameRate. Bug: 10842868 Change-Id: I40baeced80a58f09f8a1742ece8dd5e141e9c1e3
* | | Camera2/3: For still captures, use widest FPS range available.Eino-Ville Talvala2013-09-203-2/+43
|/ / | | | | | | | | | | | | | | | | | | Instead of using the application-selected preview FPS range for still captures, select the widest FPS range advertised by the device and use it for still captures instead, to give the HAL the widest range of exposure values to choose from possible. Bug: 10842868 Change-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7
* | camera2: Tell all streams to ignore global device UI rotationIgor Murashkin2013-09-182-0/+83
| | | | | | | | | | | | | | | | - Also use android.sensor.orientation to set the right transform flags automatically. Bug: 10804238 Change-Id: I10caf8331f19e107c461696963cc10f597c91d83
* | Merge "Camera3: Always set a trigger ID for an active trigger" into klp-devEino-Ville Talvala2013-09-162-0/+51
|\ \
| * | Camera3: Always set a trigger ID for an active triggerEino-Ville Talvala2013-09-162-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to work around HAL implementations that expect to see an ID for every trigger. Use a dummy trigger ID of 1, since 0 has special meaning for older HALs. Bug: 10720617 Change-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12
* | | Camera: setCallBackWindow only if callback surface is usedZhijun He2013-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Calling setCallBackWindow without checking the previewCallbackSurface could make the stream to be deleted during callback stream operation, which is bad because the preview is still active and the delete fails. Bug: 10730496 Change-Id: I8addac25e5aa7901bf200d730c749bee2c088090
* | | Camera: Don't overwrite the error statusZhijun He2013-09-151-1/+1
|/ / | | | | | | | | Bug: 10749544 Change-Id: I6096effde03e18ee1b8c63cf3b36dce0344054c5
* | Camera: Limit supported preview sizesZhijun He2013-09-132-20/+61
| | | | | | | | | | | | | | | | | | | | | | The ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES can provide sizes as large as jpeg sizes, which could cause potential issues when trying to do full size still capture and full size preview. This is not supported by many devices due to hardware limitation. This change limits the preview (as well video) size to no more than 1080p. Bug: 10625115 Change-Id: I9467ab843553ec06e8249b4a17c0ecf4c6d6f04e
* | Merge "camera3: Dump latest request sent with dumpsys" into klp-devIgor Murashkin2013-09-092-1/+78
|\ \
| * | camera3: Dump latest request sent with dumpsysIgor Murashkin2013-09-062-1/+78
| | | | | | | | | | | | | | | Bug: 10606535 Change-Id: I0dd5ca3e09f45701659ab9ebd3b51939a2f6e6ba
* | | Camera: Correct stream id typesZhijun He2013-09-088-21/+21
| | | | | | | | | | | | | | | Bug: 10604704 Change-Id: I223ac5d200eb6439c08955fb7ad586592099fbae
* | | Camera: Send VIDEO_SNAPSHOT intent for video snapshot caseZhijun He2013-09-061-0/+6
|/ / | | | | | | | | Bug: 9924539 Change-Id: Ief39eff79c31f2c2aa5df2fe1a0f04c4afc74690
* | Merge "camera: Fix race condition between setParameters() and ↵Ruben Brunk2013-09-061-0/+1
|\ \ | | | | | | | | | stopPreview()." into klp-dev
| * | camera: Fix race condition between setParameters() and stopPreview().Ruben Brunk2013-09-051-0/+1
| | | | | | | | | | | | | | | Bug: 10414772 Change-Id: I928cb3935afb101da8a7931f88c27dccdb03b4a9
* | | Fix CameraService error flag when running HAL1 with API2.Ruben Brunk2013-09-041-2/+2
|/ / | | | | | | | | | | Bug: 10620944 Change-Id: I44c0d09a3d313ae8f724fbe61fa5f36cf5b38b6d
* | Camera2/3: Increase precapture start timeoutEino-Ville Talvala2013-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we only wait 200 ms for the HAL to switch to the precapture state. This is insufficient at low preview frame rates (dark conditions, ~10 fps), where a 3-request-deep HAL pipeline will take 300 ms to produce a precapture trigger output. In those cases, we would prematurely skip the precapture sequence, causing bad quality pictures. Since this is a fallback timeout to prevent deadlock in case of a bad HAL or framework implementation, increase the timeout to 1 second. Has no impact on correctly-working implementations Bug: 10430191 Change-Id: I08e99f8e7f3beb8f15dcee32632cdebfe3dca8b3
* | Merge "camera: Fix deadlock when sending callbacks during disconnect" into ↵Igor Murashkin2013-08-301-6/+4
|\ \ | | | | | | | | | klp-dev
| * | camera: Fix deadlock when sending callbacks during disconnectIgor Murashkin2013-08-291-6/+4
| | | | | | | | | | | | | | | Bug: 10552448 Change-Id: Ie93ba744ae6705aa657f980ae8e08ec624feeb39
* | | Camera3: Be busy as soon as work arrives.Eino-Ville Talvala2013-08-292-1/+19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | RequestThread's internal busy flag (mPaused) was not being immediately set when new work was submitted to it. This allowed for a race condition where a capture() followed by an immediate waitUntilDrained() would immediately return from the wait. Set the mPaused flag to false immediately in capture() and setStreamingRequest() to avoid this, instead of waiting until the end of the next RequestThread iteration. Bug: 10531739 Change-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8
* | Camera2: Add flush supportEino-Ville Talvala2013-08-237-3/+80
| | | | | | | | | | | | | | | | - On HAL2 devices, fall back to wait until idle - On HAL3 devices, call HAL flush method Bug: 9758581 Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
* | Camera1: Set preview to be asynchronous, and remove dead codeEino-Ville Talvala2013-08-215-39/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | - Use the controlledByApp flag to make sure application-bound preview buffer queue is asynchronous as before - Remove setPreviewDisplay in service, since it is no longer in the binder interface - Rename setPreviewTexture to setPreviewTarget, to make it clear it's the only game in town now. Rename only on the binder level and service for now. Bug: 10312644 Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
* | Refactor CameraService to handle errors properly.Ruben Brunk2013-08-162-64/+81
| | | | | | | | | | | | | | | | Bug: 10361136 -Connect calls now return status_t error flags. Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95