Camera2/3: Fix deadlock when starting recording before preview.

Move 3A notification synthesis for HAL3 devices from
Camera3Device::processCaptureResult to Camera2Client's
FrameProcessor. This will ensure that calls to processCaptureResult
from HAL can never block on Camera2Client internal mutexes.

Bug: 9923891
Change-Id: I5184649bf45c0807babe6b8c0e1239e959cd3480
Camera2/3: Fix deadlock when starting recording before preview.

Move 3A notification synthesis for HAL3 devices from
Camera3Device::processCaptureResult to Camera2Client's
FrameProcessor. This will ensure that calls to processCaptureResult
from HAL can never block on Camera2Client internal mutexes.

Bug: 9923891
Change-Id: I5184649bf45c0807babe6b8c0e1239e959cd3480
libmedia: Add ICS constructor for getOutput

Used by the Tegra ICS OMX libraries

Change-Id: I2f6e7f10f11b53853626d1be86e7b2be870720f4
libmedia: Add ICS audiotrack constructor

Change-Id: I5c1a3d1093cbf16111638a37601093c5eb977dd4
Camera Service: Change max number of cameras to 3

Maximum number of cameras increased to 3 in order to support Stereo camera
in addition to the existing ones.

Change-Id: I63279daa17723669a8f116798b2687b73ddb5516
Signed-off-by: Dejan Ivanovski <x0162121@ti.com>
CameraService: Add compatibility for OMAP ICS blobs

Workaround the conflict created by usage of the 0x800 enum
in JB (focus move) vs its OMAP usage in ICS (burst jpeg)

Originally:
CameraService: Adds support for burst compressed images

Signed-off-by: Emilian Peev <epeev@mm-sol.com>

Moved the changes under OMAP_ENHANCEMENT

Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
Change-Id: I1f17675b2854793de83c2b7cdecafc039c46f355

CameraService: Adds support for burst compressed images

Depends on:
  - http://review.omapzoom.org/#/c/24537/
  - http://review.omapzoom.org/#/c/24538/

Change-Id: I1f17675b2854793de83c2b7cdecafc039c46f355
Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com>
Signed-off-by: Emilian Peev <epeev@mm-sol.com>
Signed-off-by: Daniel Levin <dendy@ti.com>

Add CAMERA_MSG_RAW_BURST handling to CameraService

Change-Id: Id958836e726e9908f60311d5bfc6d26eb8298cea
Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>

CameraService: Disable capture message types before stopping preview

If we try to stopPreview in the middle of capture, these
callbacks might occur. In this case, stopPreview will already be
holding mLock while the message handler will try to grab mLock.
Deadlock occurs if the stopPreview and message callback dependencies
are in the same thread.

Issue reproduced with Image Capture/Home Key scenario.

Port from GB: Issue is still reproducible (although extremely
              rarely) in ICS.

Signed-off-by: Emilian Peev <epeev@mm-sol.com>
Signed-off-by: Jean Johnson <jean-johnson@ti.com>
Signed-off-by: Daniel Levin <dendy@ti.com>
Change-Id: I222d00f8bd69c11302a35610095efe0ddc49f876
camera: add parameters for samsung cameras

From: codeworkx <codeworkx@cyanogenmod.com>
Date: Sat, 22 Sep 2012 11:36:26 +0200
Subject: [PATCH] camera: added weather key for samsung cameras

Change-Id: I1c6dc38f548fb3087abbdf7d7f83c39afaa217a1
---

From: Steve Kondik <shade@chemlab.org>
Date: Tue, 15 May 2012 09:41:02 -0700
Subject: [PATCH] camera: Add parameters for some Samsung cameras

 * Enable with SAMSUNG_CAMERA_HARDWARE
 * Adds anti-shake, metering, and wdr modes.

Change-Id: I080c90e11fcb8fa48900c01a454868f173f61eb0
---
camera: add iso parameter

Enable with BOARD_CAMERA_HAVE_ISO

From: jt1134 <jt1134@gmail.com>
Date: Mon, 17 Sep 2012 22:05:04 -0500
Subject: [PATCH] camera: add define for ISO settings

Change-Id: I8716a260ad552d3684197237c2055dce129e461e
---
mediaserver: instantiate SecTVOutService for samsung tvout

Change-Id: I0e7767f8cf3ffd0bc376d14cf4fffffed225e701
exynos4: libstragefright: add support for samsung colorformat/omx/mfc

Source:
http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h=exynos-jb&id=1614612f7ca2a00473d202dbedcb135fadc608ad

Change-Id: Ib40b3cfa1480ecbb69831e7967a81f63719e2ff7
libmedia: add pre jb-4.2.1 signature for AudioSystem::getDeviceConnectionState

With jb-4.2.1 the type audio_devices_t found in system/core/include/system/audio.h
was redefined from a typedef enum to uint32_t.  This causes the signature
of AudioSystem::getDeviceConnectionState to change in libmedia.so.
Any older than 4.2.1 prebuilt audio.primary.___.so binaries (such as mine from ICS)
may refer to the old signature.  This patch adds back in that reference.

Change-Id: Ie4f92eaec20d581c9bebc805cfd25f8558406e30
Signed-off-by: Hashcode <hashcode0f@gmail.com>
omx: exynos4: bring inline with jellybean

Change-Id: Ic275fd30a721f8161dcc44c2706b86ab5ea213ba
Camera: Qcom parameters partial rebase

Add customized parameters for qcom camera features.

Squashed commit of the following submissions to CAF:

camera: add custom camera parameters to hardware java file.

Change-Id: Ic2b363df6d25a0c3a49aed30e717d10874f533ae

Camera: Add support for wavelet denoise

Change-Id: I97be72615fe5909987ac430034bbdc16f2d20509

Camera : Add support for histogram in frameworks

Change-Id: Ibf751c3b2d488f4be0afaaa3e994372bafeffbe7

Camera: Add ZSL support in framework.

Change-Id: I4e863020d7d407d9c3936beb83dc7abf385c4654

Camera: Add touch AF/AEC support in ICS framework

In, ICS the old touch AF/AEC functions getTouchIndexAf(),
setTouchIndexAf() etc  are no longer valid. Added new functions  to get
the center of touched area.

Change-Id: I37d00040f895cd8a4de2e2a438971aa2d9c1a045

Camera: Add support for Red eye reduction

Change-Id: Iada280ac33aee8b1114dc40d8d79e0e47ad5c2fd

Conflicts:

	api/current.txt

Camera: Enable streaming texture and YV12 feature

Change-Id: I814c92b469e0f25baef0ce80338761d1e6443085

Camera: Add frameworks support for high frame rate

Change-Id: I9722e9b7e61433651ab5f76f76208853eb1fd849

Camera: Simplify ASD menu and best mode menu.

Change-Id: Ia7a1eca9268eec021a6e2c3f7ce2a932e8819d50

Camera : Macro definition change. PIXEL_FORMAT_YV12 to "yuv420p"

Why: CTS testcase is expecting "yuv420p" as the format string for YV12 mode.

CRs-Fixed: 328252
(cherry picked from commit 0a263f67b75497e4b95b9de8c370ed9496ab59ef)

Change-Id: I66f418a52775a969d81bcb332bbe500370e3ab7c

Camera: Changes for face detection

Change-Id: I7b2172e8690d6e23762e42f5888fecbfda15ba61

Camera: Add support for burst count

Change-Id: I4488a5eac1eebb0b5c8e2cc7cbbe7be0c7301be7

Camera: enable HDR feature

(cherry picked from commit e40770bbdadd925fc1e07a08249a15981b961570)

Change-Id: Ie9ca3066e8e53710bf292d047a3724aefc029854

Camera : Add API to find fullsize liveshot support

Change-Id: I3c2fc3578decbe5cf87fded5362f317df0b40b5e
(cherry picked from commit 65d80f04892776eec1c19c844eacb8c454b4bd1a)

Camera: Set default camera area string

The default invalid value for KEY_FOCUS_AREA and
KEY_METERING_AREA is changed to "(0,0,0,0,0)"
CRs-fixed: 334934

Change-Id: I354802c8611ee5c00a591b96b1a1ca04926969cb

Camera: Change the scenemode names in framework

To comply with ICS API Specification,
SCENE_MODE_AUTO changed to SCENE_MODE_ASD
SCENE_MODE_OFF changed to SCENE_MODE_AUTO

Change-Id: I8e744f10c728f469923b09f69d6d64bc5c7c6850

Camera : Framework changes for camcorder UI menu

Change-Id: Iff9e9021da44b67f81a24c828b960113ee249248

Camera : Remove unwanted video resolution in Framework

- FWVGA, WQVGA resolution UI options are removed for camcorder.

Change-Id: If621140966b01dbc8c30a4d161e6771528b8adda

Camera : Enable FWVGA and WQVGA resolutions in camcorder media profiles

Change-Id: Iad9cc33f7b6d8eb7de21df372c016edeef0b99ba

Unlock camera AWB lock only when white-balance is changed.

bug:5633546
Change-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81

Change-Id: Ie3cc15132489502e64321776d49d96846b5705d6

Conflicts:
	camera/Android.mk
	camera/CameraParameters.cpp
	include/camera/CameraParameters.h
	services/camera/libcameraservice/CameraService.cpp
	services/camera/libcameraservice/CameraService.h
libstagefright: exynos4: set proper eColorFormat

Change-Id: Ie025face3c292e685fdf4d83c99276b0a9e4d71d
camera: Ignore CAF_RESTART callbacks

 * Ignore these callbacks which are sent by Samsung camera drivers, as
   they can cause a deadlock in normal operation.

Change-Id: Iae59eb0d3050751c1a4d372c80d430a8ba957252
WifiDisplay: Add an HDCP toggle

Some WFD dongles have frequent (or permanent) failures while
negotiating HDCP with the device, so add a toggle to allow
skipping HDCP entirely

Change-Id: I999158df84d4a7489c40ecdf07ebcf107d071d40
libstagefright: Add support to seek to zero

- Add CAN_SEEK_TO_ZERO flag in MediaExtractor to allow
  seek to zero, when previous button is pressed, for clip
  that can't be seeked.

Change-Id: Ic2761cc5bac2403ee1339da77ad02fde942a3437
camera: add ISO3200 and ISO6400

This change adds camera ISO 3200 and 6400, needed by some camera hal.

Change-Id: I65172a7de6554c3c288f0a4153d3fcb432b70db8
stagefright: OMXCodec: Re-enable OMX.TI.Video.encoder's quirks

These have been around since early stagefright, and were dropped for
JB. Unfortunately, they're still necessary with for this encoder to
work.

Change-Id: I8a251bf195a24b166db7464a90a822d6e69b644d

libstagefright: Add support for the 720P OMAP3 encoders

Bring back some more OMAP code that was removed by Google in JB,
and a couple of omapzoom patches.
This may stop being necessary if TI publishes JB-specific OMAP3
code, but as long as we're using the ICS domx, these need to
be here
Change-Id: Ia29f8c9f9ed769ba07b09c07260486f6502841d6

libstagefright: Unbreak OMAP4 encoders

The "manual" construction of the h264 codec data is only needed
on OMAP3. Execution of this code on OMAP4 breaks the mpeg4 header
generation

Change-Id: I3ae52f2e685e2d9097796685c98dffa93cfa6430
exynos4:  Part of Netflix fix

codeworkx pulled the Samsung colorformat patch from Insignal's
exynos-jb branch, which is an invalid source for exynos4 patches.

It was checking for an OMX codec name that didn't exist.

This still doesn't stop Netflix JPlayer failing in 10.1, but
does fix Netflix failing if you disable JPlayer by convincing
it that it's on an older Android version.

Change-Id: Ia55878dc08f81e2900307558e35c4e0c5b9cac2f