| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Since in Kernel 3.4 now defined V4L2_PIX_FMT_H264 - we
will use it to enable H264 stream mode in V4LCameraAdapter.
Change-Id: I963131f5d740d60815bdca99e5a8b0cdc17ab161
Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
|
|
|
|
|
| |
Change-Id: I705149d5ce274671385e9f465c0fd3b556d4c7ee
Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
|
|
|
|
|
|
|
|
| |
This patch fix preview data callbacks for V4LCameraAdapter,
when used HW MJPEG Decoder.
Change-Id: I8994549f4706a2a704fc5e1eb30c4c3afd987d3f
Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Synchronize public interface of V4LCameraAdapter.
Change-Id: I5670151a69a58cd7db4e2eda401b3aac7bef18cb
|
|
|
|
|
|
|
|
| |
- Added FRAMERATE_RANGE_SUPPORTED parameter fill.
Also added dynamic fps change handling.
Change-Id: I8752987dd51301d1022081f7bd633cd425b866e4
Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
|
|
|
|
| |
This reverts commit 6520993a1f2c3f4c2c73f79a6949c4ef565cf74c.
|
|
|
|
|
|
|
| |
This patch enables the FPS information print.
Change-Id: I9f679dba10bdb5100c79436929f1da474233f185
Signed-off-by: Saravanan Solaiyappan <saravanan.s@ti.com>
|
|
|
|
|
|
|
| |
This reverts commit c02cd8fb7a0b8c9f8bb1f065f5cb086c802a7088.
Change-Id: I70433150f7f5384a28ba9c05ab2dec80d7398da5
Signed-off-by: Saravanan Solaiyappan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Moving initializing for capture reference count to
derived adapters since useBuffers call for capture
is going to called queuing shots as well.
- This patch needs to include V4L adapter before merging
on mainline.
Change-Id: Ifc4986a68173234ec636ef943b62009f7df1e041
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
It is impossible to use some V4L devices (e.g. uvc) using blocking API.
In order to avoid deadlocks while recording video we have to use
non-blocking dequeue in a loop.
Change-Id: I7d41170c188b412a0a06553ab64ae53eb56ba3af
Signed-off-by: Nikita Borodikhin <nikita.borodikhin@ti.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ namespace android:: is reserved for base Google Android types
to avoid current and further conflicts with 3rd party code. Having
TI Camera HAL under namespace android:: violates this rule, adding
potential conflicts.
This patch moves libtiutils and Camera HAL code out of namespace
android:: to custom local namespaces.
Putting camera code under namespace android and 'using namespace
android' is not allowed anymore. All C++ Android types should
have android:: namespace prefix explicitly.
Next namespaces added:
- Ti:: - placeholder for all custom code
- Ti::Utils:: - common utility helper library
- Ti::Camera:: - Camera HAL code
Also added Ti::status_t as typedef for android::status_t.
Change-Id: Ie8cc00d6d6bd4e8a8ddf089421010c370ee40ebe
Signed-off-by: Daniel Levin <dendy@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Moved common definitions to Global.h header:
- CAMHAL_LOG* macros (also added CAMHAL_LOGI and CAMHAL_LOGW)
- CAMHAL_ASSERT* macros
- CAMHAL_UNUSED macro
2. Renamed NV12_resize.c to NV12_resize.cpp
3. Added common math functions into UtilsGlobal.h header:
- min(a, b) - returns min of a and b
- max(a, b) - returns max of a and b
- bound(min, a, max) - return nearest value to a in scope [min..max]
- floor(a) - round a to lower integer
- round(a) - round a to nearest integer
4. Portability:
- Fixed LOG* macros to use appropriate CAMHAL_LOG* wrappers.
- Reworked the Android.mk to include proper directories depending
on current pastry.
Change-Id: I6fbd1ee02d8af2195b91cc357ddcf554fe77f495
Signed-off-by: Daniel Levin <dendy@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
1. Change getPictureBufferSize call to give back more data
about the capture buffer that we need to allocate.
2. Use the data from getPictureBufferSize to allocate the
buffer.
Change-Id: I23bac42eedb9b6852eca24c207c474f3dbecced1
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
|
|
|
|
|
|
|
|
|
| |
This patch adds few more properties in to capabilities.
Eventhough these properties are unsupported by USB camera,
it fixes some issues with the usb camera usecases.
Change-Id: I01753e5c781472bd45f1f2669db3dc46c4e291ee
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch optimize the color convertion by copying the NV12
converted frame directly in preview buffer (Tiler memory).
This avoids one additional memory copy in the existing implementation.
This patch also include the PPM calculation for the color conversion
per frame (Average of 30 frames) and placed under PPM_PER_FRAME_CONVERSION
macro.
Change-Id: I5332050047c2b611d1093322c0a18f1b4e057d17
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
| |
Change-Id: I6c7d57f816a03336157b6e3b4ea5f246ec1671dd
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
|
|
|
|
|
| |
Change-Id: Iada3006b091a297505903063319077f0f5b9662e
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
|
|
|
|
|
| |
Change-Id: Ibae272f0a8580688e84f25ea7f87bc8f8c704726
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
This patch enables the basic video preview and record with USB camera.
[DR]
OMAPS00267530
Change-Id: I1f0e7eebe91515384ba02b3de1ed51cbb9bed818
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
| |
This patch converts the prview frames from yuv422i to NV12
using neon instructions.
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
Change-Id: Id30e27d860057063a12aa96187f6da297903660a
|
|
|
|
|
|
|
|
| |
- Added some of the not supported modes in capabilities.
- Some minor issues fixes.
Change-Id: I44fa53ec2bbb35ea688006b940d660989aeb29a6
Signed-off-by: Dimitar Borisov <x0152684@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
This patch enables the basic Image capture with USB camera.
[DR]
OMAPS00267530
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
Change-Id: Ib8119a4514d3eb102cf4ee4d147c790ccc1bdd76
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
This patch contains the following changes:
1. Finds the best preview resolution which supports 30fps
and populates that resolution through capabilities.
2. Enables printing the FPS value when the below
property is set.
setprop debug.camera.showfps 1
3. Adds some wrapper routines for v4l ioctl.
Change-Id: I7971ba42f83087bd85bd955374e568735d735426
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a CameraBuffer type, which contains information corresponding to
an internal CameraHal buffer - how it was allocated, relevant handles,
and any internal data to be associated with the buffer, such as metadata,
OMX indexes, current state. The simplest possible refactoring was done
to convert the void * used for exchanging buffer information into the
'opaque' field in the CameraBuffer structure. A few hacks were added
to minimize the size of the refactoring, these will be cleaned up in
upcoming commits.
Adding a private structure for buffers eliminates the need for a lot
of KeyedVectors that are currently in use. Most of these were left in
place, and will be refactored into the CameraBuffer structure later.
The pAppPrivate field of OMX_BUFFERHEADERTYPE was used to eliminate
another KeyedVector.
Change-Id: I147ad971e4cdc03b2c445b5fba81d0ba83bc5fb3
Signed-off-by: David Schleef <ds@ti.com>
Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
Signed-off-by: Tyler Luu <tluu@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
Detects the v4l video devices exists or not while camera service
querying capabilities at bootup.
Also adds capabilities scanning of v4l camera devices.
[DR]
-
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
Change-Id: I861ec5d99d3b85c31cad6d89aecfb27114e95894
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
Build flag is enabled to build both V4L and OMX adapters.
Individual adapters can also be choosen for build by setting the
appropriate build flag OMAP4_CAMERA_HAL_USES.
The camera index will be in the following order while querying
the capabilities during bootup:
0 - Primary camera
1 - Secondary camera
2 - USB camera
If only USBcamera is connected, the camera index will be 0.
[DR]
-
Change-Id: Ie7165f97b860c13aaa3ad71c8cc12d34baba4cbf
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Comment]
This pach enables the usb camera preview via V4L camera adapter in ICS.
The following change needs to be done in camera/Android.mk file to build
the V4L camera adapter.
OMAP4_CAMERA_HAL_USES:= USB
[DR]
-
Change-Id: I314649e0bbe52978a28296e1f9da20f176171d7d
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
0. Renamed DEBUG_LOG macro to CAMERAHAL_DEBUG and moved it
from CameraHal.h into Android.mk.
To enable debug logging next variable should be put into
$AFS/buildspec.mk:
TI_CAMERAHAL_DEBUG_ENABLED := 1
To enable verbose debug logging next variable should be put
into $AFS/buildspec.mk:
TI_CAMERAHAL_VERBOSE_DEBUG_ENABLED := 1
1. CAMHAL_LOG*A and CAMHAL_LOG*B macros have been united
into single CAMHAL_LOG* macro that accepts both variants.
2. Rewritten LOG_FUNCTION_NAME/LOG_FUNCTION_NAME_EXIT macros.
Now they do operate on internal FunctionLogger class instance
that does function enter/exit logging in constructor/destructor.
If LOG_FUNCTION_NAME is used then LOG_FUNCTION_NAME_EXIT
can be skipped in source code, in this case destructor
will correctly print function exit entry.
3. Added optional printing message timestamps.
To enable timestamp printing next variable should be put into
$AFS/buildspec.mk:
TI_CAMERAHAL_DEBUG_TIMESTAMPS := 1
4. Moved LOG_TAG macro definition from all CameraHAL sources to
Android.mk.
5. Added printing message thread ids.
6. Added printing per thread call stack indentation to visualize
call hierarchy.
7. Added CAMHAL_ASSERT(condition) and
CAMHAL_ASSERT_X(condition,description) macros to assert
conditions at runtime and abort process on failure.
8. Added CAMHAL_UNUSED(x) to mark unused variables which are
not mistakes.
9. Added next variables to enable debug logging for MessageQueue,
that should be put into $AFS/buildspec.mk:
TI_UTILS_MESSAGE_QUEUE_DEBUG_ENABLED := 1
TI_UTILS_MESSAGE_QUEUE_DEBUG_FUNCTION_NAMES := 1
Signed-off-by: Daniel Levin <dendy@ti.com>
Change-Id: I8ebea607199de621860ada6dfcab9164ba85674a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
Change-Id: I8f7a7eeece0e516efa486b77e9d97805c0e65d3e
Signed-off-by: Iliyan Malchev <malchev@google.com>
|