summaryrefslogtreecommitdiffstats
path: root/camera/inc
Commit message (Collapse)AuthorAgeFilesLines
* camera: add Pixel{X,Y}Dimension and Orientation EXIF tagsMichael Gernoth2016-01-071-0/+2
| | | | | | | | These tags are needed by the CM13 camera to not crop images to square when shooting portrait. As the camera HAL already rotated the picture, always set orientation to 0. Change-Id: Id8b6aac5369ae3adfdfec0ec7528edc849bd3b10
* camera: Add support for camera on motorola devicesMichael Gernoth2015-02-214-1/+49
| | | | | | | This adds flash-support for motorola devices and disables unsupported functionality. Change-Id: Ib1107d78641ca1ded61e8adb88ab7e8951e4ec74
* camera: fix compile warningHashcode2015-02-031-2/+2
|
* camera: add OV9726 sensor definesHashcode2015-02-032-0/+2
|
* camera: clean up build for when OMAP_ENHANCEMENT_CPCAM is not definedHashcode2015-02-031-3/+3
|
* camera: add flag USE_LIBION_TI and adjust checks in camera HALHashcode2015-02-031-1/+1
| | | | Make sure we use modified TI ion calls when this is set
* camera: bugfixes for updated camera HALHashcode2015-02-031-0/+2
| | | | | | | | | | - Add MAX_CAMERAS board config to limit scanning of omx cameras (Jem has 2 extra configs which don't exist) - Add TREAT_FRONT_AS_BACK board config to pass the front camera off to the framework as a back camera to fix Panorama modes - ifdef VT slices code which is only used in CPCAM mode Change-Id: I273ec01403e216c544722e681c96ae7e1220b8d7
* CameraHAL: Correctly calculate frame ref counterAndriy Chepurnyy2015-02-031-2/+3
| | | | | | | | | | | | This patch fix reference calculation during AV record usecase. Previously there was some logic that counts reference depends what type of frame passed. That leads to race condition in case of video snapshot. Now all possible types of subscriptions will be counted for particular frame. Change-Id: If183fdc425a25424fdb3ca5d31a0030c3669f322 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
* CameraHAL: Snapshot buffers reference counter fixAndriy Chepurnyy2015-02-031-1/+1
| | | | | | | | Use CameraBuffer* instead of uint for key in snapshot subscribers map. Change-Id: I1fc800840e120e535c3197b9856d6a1da48c4e7a Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
* CameraHal: Remove obsolete codeAndriy Chepurnyy2015-02-031-1/+0
| | | | | | | | Remove obsolete code that trying to mask current and use unsupported resolution. Change-Id: Ia6e96b8d6d23bfef6a139b3f85f1c0651f9f23e1 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
* CameraHAL: Fixed Image capture when using V4L cameraAndriy Chepurnyy2015-02-031-1/+2
| | | | | | | | | | | - Added correct stop of the preview thread when doing image capture - Added WA that propose ability to skip some frames count if case of use buggy camera driver that do distortions of first frames after stream on Change-Id: I49b7708f4596499142bface731fbccd43cac6ec7 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
* CameraHal: Correctly set preview framerateAndriy Chepurnyy2015-02-032-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Camera API supports 2 mechanisms that used to set FPS : setPreviewFpsRange and setPreviewFrameRate HAL should correctly handle situation when only one of that call were made. CameraHAL should not modify fps range or fps that was set by client, but it should inform camera adpter somehow what exactly was modified and what value should be used for configuration of preview port. So therefore new paramter KEY_PREVIEW_FRAME_RATE_RANGE was added. Now it will be used by camera adapters for preview configuration and camera hal will be capable for value of this parameter. Possible situations: 1) User had changed FPS range and HAL will use it for fps port value (don't care about changed or not const FPS). 2) User had changed single FPS and had not changed FPS range - will be applyed single FPS value to port. 3) Both FPS range and const FPS are unchanged - FPS range will be applied to port. This patch also fixed several CTS tests from android.media.cts.MediaRecorderTest : testRecorderCamera, testRecorderVideo, testSetMaxFileSize. Change-Id: I31badcdc62a1a33474cb8e0e893f50378e9f6114 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
* CameraHAL: Forcibly off VSTAB on 4430/60 while 1080p AV rec (TEMP HACK)Dmytro Vasylenko2015-02-031-0/+12
| | | | | | | | | | | 4430/4460 AV Record on Video Format 1080p + Video stabilization On causes the Camera app crash. This is known HW limitation of sgx core on 4430/4460 due to unsupported texture sizes larger than 2k Ideally should be fixed in the Ducati, marked as TEMP HACK. Change-Id: Iea8727077d8eed736e4944e126f1c4586bf50d6b Signed-off-by: Dmytro Vasylenko <x0178436@ti.com>
* Merge branch 'd-jb-mr0-release-camera' into p-jb-mr1-releaseDaniel Levin2012-12-051-1/+1
|\ | | | | | | | | Change-Id: I3feec53fce7f847398420b89e2e8cc2b1045cca3 Signed-off-by: Daniel Levin <dendy@ti.com>
| * CameraHAL: Add burst flag to ECaptureParamSettingsGeorgi Georgiev2012-12-051-1/+1
| | | | | | | | | | Change-Id: Ie54c27fc00994e1d9617e144396b23b12a380f65 Signed-off-by: Georgi Georgiev <x0154504@ti.com>
* | Merge branch 'd-jb-mr0-release-camera' into p-jb-mr1-releaseDaniel Levin2012-12-0414-44/+895
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: camera/OMXCameraAdapter/OMXCameraAdapter.cpp test/CameraHal/camera_test_bufferqueue.h test/CameraHal/camera_test_surfacetexture.cpp Change-Id: I1f13c6a5b6369e943773d04a650406a79eb95750 Signed-off-by: Daniel Levin <dendy@ti.com>
| * CameraHal: Don't try to de-queue reprocess input buffersEmilian Peev2012-11-261-2/+4
| | | | | | | | | | | | | | | | | | - Currently the CPCam implementaion in CameraHal doesn't support continuous reprocess. Trying to dequeue further buffers from the tapin is not needed. Change-Id: I4674b513bfe5b659f6827e4e7e39d71f82cab082 Signed-off-by: Emilian Peev <epeev@mm-sol.com>
| * CameraHal: Release reprocess input buffersEmilian Peev2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | - Currently reprocess buffers are getting acquired from a 'BufferQueue' via calls to 'update_and_get_current()'. Those buffers are not getting properly released though. Depends on frameworks/av I050800fa: http://review.omapzoom.org/#/c/30198/ Change-Id: I841a78063bcf18f7ecf3882311ecc9dee3be6745 Signed-off-by: Emilian Peev <epeev@mm-sol.com>
| * CameraHAL: Append Huffman Table during using HW MJPEGAndriy Chepurnyy2012-11-262-2/+8
| | | | | | | | | | | | | | | | | | Some camera's don't write Huffman Table to MJPEG buffers. In case of HW MJPEG decoder usage DHT will be added if it does not exists in buffer. Change-Id: I12c47d6fdb555a32eeac789b58b481b06c3f82d6 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
| * CameraHal: Add support of HW MJPEG decoder in CameraHALAndriy Chepurnyy2012-11-265-8/+479
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tis patch adds Ducati decoder support on CameraHAL level. - Added FrameDecoder - that used as base class for hw/sw decoders. - SwFrameDecoder - class that capable for sw MJPEG decoding - OmxFrameDecoder - class that capable for hardware MJPEG/H264 decoding (using Ducati decoder) - FrameDecoder is now used generic interface for decoder in V4l camera adapter - Added ability to change video stream type for V4L camera. Change-Id: Ia632cb0e202752b05a6994acc90c7f10ee851a34 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
| * CameraHAL: Synchronize public interface of V4LCameraAdapter.Andriy Chepurnyy2012-11-261-5/+1
| | | | | | | | | | | | Synchronize public interface of V4LCameraAdapter. Change-Id: I5670151a69a58cd7db4e2eda401b3aac7bef18cb
| * CameraHAL : Added fps handling for V4L camerasAndriy Chepurnyy2012-11-261-0/+4
| | | | | | | | | | | | | | | | - Added FRAMERATE_RANGE_SUPPORTED parameter fill. Also added dynamic fps change handling. Change-Id: I8752987dd51301d1022081f7bd633cd425b866e4 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
| * CameraHAL: Make graphic buffer locking conditionalAndriy Chepurnyy2012-11-262-0/+17
| | | | | | | | | | | | | | | | | | | | This mechanism is added to support components where locking mechanism is handled on DOMX layer. As example is using ducati decoder with buffers allocated via ANativeWindowDisplayAdapter. Change-Id: I33ae0f0766473a6d8e85699c31dcad9345b4df70 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
| * Revert "Revert "CameraHal: V4LCameraAdapter: Add support for MJPEG""Andriy Chepurnyy2012-11-261-3/+9
| | | | | | | | This reverts commit 6520993a1f2c3f4c2c73f79a6949c4ef565cf74c.
| * CameraHal: Add external gamma table configurationVladimir Petrov2012-11-263-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added support to set external gamma table. Application can set camera parameter with key "gamma-table" and value in the form: "(OffsetR0:SlopeR0,OffsetR1:SlopeR1,...,OffsetRN:SlopeRN)," "(OffsetG0:SlopeG0,OffsetG1:SlopeG1,...,OffsetGN:SlopeGN)," "(OffsetB0:SlopeB0,OffsetB1:SlopeB1,...,OffsetBN:SlopeBN)" Depends on hardware/ti/domx change I199d28e2: http://review.omapzoom.org/#/c/27885/ Change-Id: I5dabde9b693cf8cb501ec8584729cd4fa174939c Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * Revert "CameraHal: V4LCameraAdapter: Add support for MJPEG"Saravanan Solaiyappan2012-11-261-9/+3
| | | | | | | | | | | | | | This reverts commit c02cd8fb7a0b8c9f8bb1f065f5cb086c802a7088. Change-Id: I70433150f7f5384a28ba9c05ab2dec80d7398da5 Signed-off-by: Saravanan Solaiyappan <saravanan.s@ti.com>
| * CameraHal: Add support for UYVY reprocessingEmilian Peev2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | NOTE: Currently UYVY is mapped to 'CameraParameters::PIXEL_FORMAT_YUV422I' which is not entirely correct. The Google pixelformat expects YUYV ordering of the components. Change-Id: Ia82e08363d6804e51c447eb845da2ca23fc29ae9 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Add support for reprocessing with buffer bordersEmilian Peev2012-11-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The header of the processed buffer should be set correctly in order for the camera component to properly match the start of the valid data. Depends on frameworks/av change I788dd738: http://review.omapzoom.org/#/c/29677/ Depends on hardware/libhardware change Ie37ab311: http://review.omapzoom.org/#/c/29676/ Change-Id: I003b7cfae41ddf6bb46661e0803a4fb1b60a99e6 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Adds reprocess related PPMsEmilian Peev2012-11-261-1/+8
| | | | | | | | | | | | Change-Id: I019247d8175ae46be307616ae2011938f0b604b1 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Avoid deadlocks when re-using a tapoutEmilian Peev2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Locking inside 'takePicture()' is sometimes possible when re-using the same SurfaceTexture. This is due to the blocking nature of the dequeue call inside 'BufferSourceAdapter::handleFrameReturn()' which does acquire 'mLock' upon entering. The solution is to handle this particular case by reusing the buffers that were previously allocated and avoiding any calls to the Adapter which might try to lock 'mLock'. Change-Id: I6c4e49fd84df2659c0466b6f89c88916f93a6b8d Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Allocate buffers when source is setTyler Luu2012-11-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Allocate the buffers for a particular surface when it is set. This allows applications to set multiple surfaces before capturing or reprocessing, so they don't have to take the penalty of buffer allocation during. - Partialy revert change I0c1b8854. Depends on hardware/libhardware change I01831e05: http://review.omapzoom.org/#/c/28152/ Change-Id: I13aa2b19387e2a21f8ca08203b132154c14d481b Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: V4LCameraAdapter: Add support for MJPEGAnu Sundararajan2012-11-261-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | USBCameras support higher resolutions(above VGA) in MJPEG format only. V4LCameraAdapter has been modified to use MJPEG as the default pixel format. The incoming jpeg frames are decoded(into NV12) using libjpeg and then sent for rendering. Change-Id: Ie7f62abd7a7fad3bc1f01e048fe8f17f67890301 Signed-off-by: Saravanan Solaiyappan <saravanan.s@ti.com> Signed-off-by: Andriy Chepurnyy <x0155536@ti.com> Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
| * V4LCameraAdapter: Adding support for JPEG decoding using libjpegAnu Sundararajan2012-11-261-0/+57
| | | | | | | | | | | | | | | | | | | | Most of the USBCameras support higher resolutions in MJPEG format only. To decode MJPEG frames, this patch adds support for libjpeg. Change-Id: Ifef19a16fddcc8bd56894ed67829f76a63e86a97 Signed-off-by: Saravanan Solaiyappan <saravanan.s@ti.com> Signed-off-by: Andriy Chepurnyy <x0155536@ti.com> Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
| * CameraHal: Check return frames count before waiting on conditionEmilian Peev2012-11-261-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | - The Thread responsible for retrieving free buffers from the tapout is possible to miss some incoming signals and wait while buffers are available in the ST. Solution is to count all outgoing buffers and not wait on the condition when buffers are available. Change-Id: I31526dd334a08f52f0c6069cea847ae14e2cffbc Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Always set queued shot config in CPCAM modeVladimir Petrov2012-11-261-2/+1
| | | | | | | | | | | | | | | | | | | | - Fixed deadlock in the case when application has ommiting to set shot parameters with any bracketing configuration in CPCAM mode. Should handle properly single shot and burst shot. Change-Id: I4f3e2b4ee5bc0aa9072d03da6f9edc4ba86253d8 Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Add support to release tap in/outsVladimir Petrov2012-11-261-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Providing a way to camera client to tell camera hardware that tap in/outs previously set are not longer valid. Depends on frameworks/av change I68f61303: http://review.omapzoom.org/#/c/28914/ Depends on hardware/libhardware change I8f6c377a: http://review.omapzoom.org/#/c/28984/ Change-Id: I9e7faf1a8cb9bd4e9f3bfd98ed4ccc56c1e9b10e Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Add getBuffers() method to BufferSourceAdapterSundar Raman2012-11-262-0/+11
| | | | | | | | | | | | | | | | | | - Added a method in BufferProvider which can provide the CameraBuffer list Change-Id: Ia9ea8e0ac7e59e969fd5bedcfaf057f3607ab963 Signed-off-by: Sundar Raman <a0393242@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Create separate functions for setting tapin tapoutTyler Luu2012-11-261-1/+2
| | | | | | | | | | | | | | | | | | - Small clean up. Just splitting setBufferSource into two functions. Change-Id: Idb160bf26ca0a7f11b4a675c311ad14f978232f1 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Add support for setting multiple tap in/outsTyler Luu2012-11-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adding support for setting multiple tap in and tap out points that the application can set at any time. Applications need to provide name of tap-in and tap-outs with their shot config for us to find the tap-in or tap-out point from the vector we are keeping. - Patch for releasing tap in/outs to follow Depends on frameworks/av change Ia21c4a26: http://review.omapzoom.org/#/c/28899/ Change-Id: I6fa91de68c7bf71525596ee5e1a5ebb2a7b3b5da Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * CameraHal: Add support for matching tap in/out surface by nameTyler Luu2012-11-262-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - API has changed so applications need to specify the name of the tap in/out surfaces they want to use for a particular shot/reprocess call. Depends on frameworks/av change I7c8c17cf: http://review.omapzoom.org/#/c/28898/ Depends on hardware/libhardware change I859c6e87: http://review.omapzoom.org/#/c/28141/ Change-Id: I785286be77970679f8d9cc8bfd9befe4a63191ac Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * V4LCameraAdapter: sync interface with BaseCameraAdapterNikita Borodikhin2012-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | This fixes a problem introduced in commit e9bf3ac2. Instead of specialized method getPictureBufferSize base classes stub is being always. That led to allocating zero-length snapshot data buffer and failure to get snapshot. Change-Id: I36585d7801a788c19be753e2fdbe0f2d056509d9 Signed-off-by: Nikita Borodikhin <nikita.borodikhin@ti.com>
| * camera: omx: Introduce mPendingReprocessSettingsTyler Luu2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | Introduce mPendingReprocessSettings, so we can setFormat inside UseBuffersReprocess instead of setParametersReprocess. We will later use this mechanism to determine if port settings need to be reconfigured in NPA-like mode. Change-Id: I8fc485fc0f84c11bb293a49894090ea6a28b3c47 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * camera: omx: Move capture port disable to state functionsTyler Luu2012-11-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move decision to disable capture port from setParameters to functions called in the state machine (getPictureBufferSize and UseBuffersCapture). This will help avoid calling the disable port code multiple times if user changes settings. It will also keep the capture from being disabled asynchronously from state changes. Since decision to disable port is moved to UseBuffersCapture, logic to skip UseBuffers for subsequent captures changes slightly. Instead of skipping if capture port is configured, we skip if no settings have changes that require SetParam have changed. As part of code movement, capture is no longer disabling reprocess. The decision to disable reprocess will be moved to the reprocess file. Change-Id: I878c4cc1cc4985a762afcae686ba51a072c25836 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * Merge p-jb-release into d-jb-releaseKeith Deacon2012-11-261-0/+1
| |\ | | | | | | | | | Change-Id: I5846453a07de05891544684fd524c546579d957c
| * \ Merge "CameraHal: Camera Capabilities query update" into d-jb-releaseSundar Raman2012-11-261-0/+44
| |\ \ | | | | | | | | | | | | Change-Id: I0760b135e56d22fc02e49d1344af734e0dcf81be
| * \ \ Merge p-jb-release into d-jb-releaseKeith Deacon2012-11-261-1/+1
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I649b0c53d1c0e8f56e059a3cb24a38089d8fccc4
| * \ \ \ Merge p-jb-release into d-jb-releaseKeith Deacon2012-11-263-4/+33
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: camera/inc/CameraHal.h Change-Id: I826ef084fe01e8b5682d8a78c7cec76b39043d45
| * | | | | camera: omx: Use common MemoryManagerTyler Luu2012-11-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a common MemoryManager instance in the various OMXCameraAdapter modules that use it. Change-Id: I5a2e957345dafb3ccbd305b8e589ed1822a289fe Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * | | | | camera: Account for bpp in strideTyler Luu2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to account for bytes per pixel when sending stride received from CameraAdapter to BufferProvider. CameraAdapter will send stride in bytes but BufferProvider expects stride in pixels. Change-Id: I80512e888b385a42cc9345da34c77fb0e2c19f78 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
| * | | | | camera: Common function for get x, y from offsetTyler Luu2012-11-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move logic to get x, y crop position for a given offset and format to a common utility function. Change-Id: I6e900ee7938f012c70939ccdfaf3b4a252bd7957 Signed-off-by: Tyler Luu <tluu@ti.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>