Camera: Enable the Camera support for 8660 target

This is the port of the following commit:

commit 3c278cdb68083bc7d252fa150dc2f4823b09c662
Author: Nishant Pandit <npandit@codeaurora.org>
Date:   Tue Jul 13 15:56:04 2010 +0530

    Camera: Enable the Camera support for 8660 target

    Change-Id: I0567bbe8b8af6314ed986dad86216143214bfc36

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Update proprietary defines
Camera: Adding support for Scenemode feature in HAL.

This is port of the following commit:

commit 083838573f4b3b41a33485e580f9ce625bb3207c
Author: Apurva Rajguru <arajguru@codeaurora.org>
Date:   Mon May 17 14:25:39 2010 -0700

    Camera: Adding support for Scenemode feature in HAL.

    Change-Id: I0dd857ac2fe6b69d228c5dc6aba54d702dd15e5c

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Removing dependency of Exif Apis on KEY_GPS_STATUS.
Camera: Add support for exposure compensation
Camera: Enable overlay function setFd as the support is available.

This is port of the following commits:

commit 5ec7613a5825a68a2c0d00d956378b2c01353b2f
Author: Apurva Rajguru <arajguru@quicinc.com>
Date:   Wed Jun 16 17:43:46 2010 -0700

    Camera: Removing dependency of Exif Apis on KEY_GPS_STATUS.

    Calling setGpsParameters only when all GPS parameters(latitude,
    longitude, altitude and timestamp) are valid. Also added the
    correct exif tag (EXIFTAGID_GPS_TIMESTAMP) corresponding to
    gps timestamp.

    Change-Id: Ic0f9584171846d1884826cfe5a7d40c171128f6d

    CRs-Fixed: 242534

commit 4cc4b866cb2028e227689968136116d9dc9bfc63
Author: Srinivasan Kannan <srinkann@codeaurora.org>
Date:   Wed Jun 30 14:22:26 2010 -0700

    Camera: Add support for exposure compensation

    Providing HAL support for setting exposure compensation

    Change-Id: Ie91e5dbe05467027f3a2a8ce3aee88cb3a761596

commit 54e2a0252f1c818eca95dc6cebfc194b5745e037
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Tue Jul 6 16:23:58 2010 -0700

    Camera: Enable overlay function setFd as the support is available.

    Enable setFd as the required overlay support is available now.

    Change-Id: I1ad78699eff3ce83d31bb5108fe78b58e6819aac

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Set the snapshot buffer offsets and size as required for the gemini offline
    encoder.

This is the port of the following commit:

commit 0248604a7d087ba503d72ef78ac8090e36d105b6
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Fri Jun 18 16:49:43 2010 -0700

    Camera: Set the snapshot buffer offsets and size as required for the gemini offline
    encoder.

    Get the required Y offcet, CbCr offset and the rawHeap size from the
    encoder and use the same while registering the buffer with driver, as
    part of gemini offline encoder requirement for different rotation values.

    Change-Id: Ie1d218af7ba397ee192f0b5e62848e335fd2cc64

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Call jpeg join in snapshot thread instead of jpeg thread
context.

This is the port of the following commit:

commit ca2e7a95c3a1c697030dc515ae73f385651fdd37
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Mon Jun 21 15:48:45 2010 -0700

    Camera: Call jpeg join in snapshot thread instead of jpeg thread
    context.

    Jpeg join shouldn't be called in the same thread context. Fix this by
    calling join in snapshot thread. Add mInSnaphotMode flag so that preview
    mode won't be entered without finishing snapshot mode.

    CRs-Fixed: 239909

    Change-Id: Ic548b66529a749e801bc82a7777ea4b46fa07d8a

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Set the snapshot buffer offsets and size as required by target's
jpeg offline encoder.

This is the port of the following commit:
commit 62429cc1e92525d13e9403af1192e686ffc5c62d
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Mon Jul 19 10:21:05 2010 -0700

    Camera: Set the snapshot buffer offsets and size as required by target's
    jpeg offline encoder.

    Get the required Y offcet, CbCr offset and the rawHeap size from the
    encoder and use the same while registering the buffer with driver, as part of
    target's offline encoder requirement for different rotation values.
    Corrected a few compile warnings.

    Change-Id: Idea66c697796f390d41654feaef11416753ff152

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Enable the buffer allocation for snapshot and encoder from smi memory region for 8x60

This is the port of the following commit:
commit 62fe9aa9e5970ff595149ac6668b4562a0957d23
Author: Nishant Pandit <npandit@codeaurora.org>
Date:   Tue Jul 27 04:23:17 2010 +0530

    Camera: Enable the buffer allocation for snapshot and encoder from smi memory region for 8x60

    Change-Id: Ib79edc440d03fc6254b5d446e81f39e5fd653ee8

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Align the CbCr offset in record buffers to 2k as required by encoders in 8x60

This is the port of the following commit:

commit bde076126abb0f3b63f959e49f4207a2f1859daa
Author: Nishant Pandit <npandit@codeaurora.org>
Date:   Wed Jul 28 00:16:28 2010 +0530

    Camera: Align the CbCr offset in record buffers to 2k as required by encoders in 8x60

    Change-Id: I7c7a27bb650f077f1f747f58353d44c0c81ad016

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: changes to take into account of video record resolution values

This is the port of the following commit:
commit 091d5ab244321d85866fd1c193df5cb558708517
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Wed Jul 14 16:53:25 2010 -0700

    Camera: changes to take into account of video record resolution values

    Consider record dimensions if available or use preview dimensions as
    record dimensions. Remove 720P video record preview-resizing logic, as
    application needs the preview frames of actual size.

    Change-Id: I61b65b4510dbf5d4e0453c3d745804511c9201a6

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Maintain reference to shared camera library for the Snapshot Thread

This is the port of the following commit:
to:

commit 74b2ccaed620b9038c5edfd0902cea6115f87fbe
Author: Deepak Kurien <dkurien@codeaurora.org>
Date:   Wed Jul 28 16:32:55 2010 -0700

    Camera: Maintain reference to shared camera library for the Snapshot Thread

    A reference to libqcamera.so is maintained for the duration of the Snapshot thread as LINK_jpeg_encoder_join
    should be executed only for the lifetime of this object.

    Change-Id: I398c7b6b84f109b1b36976a6bc0f31000b4408a1

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Align the CbCr offset to multiple of 16 blocks for jpeg encoding.

This is the port of the following commit:

commit 905b8538d3ad8755b2592d9cb124b58f023207c1
Author: Apurva Rajguru <arajguru@codeaurora.org>
Date:   Mon Aug 2 18:29:38 2010 -0700

    Camera: Align the CbCr offset to multiple of 16 blocks for jpeg encoding.

    Align the CbCr offsets to multiple of 16 boundries for
    targets using Hardware Jpeg encoder(7x27, 7630). This
    padding is needed only for thumbnail buffer.

    Allocate a seperate buffer to display postview for 7x27.

    Change-Id: I0db4121addcca17b8a4c87b7d4ebb9ffbe963720

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: The Chroma buffer should be aligned to 2K for the encoder on 8x60

This is the port of the following commit:

commit c6fd2c24dba8de4fd7aa2b21220e580b806edd52
Author: Nishant Pandit <npandit@codeaurora.org>
Date:   Tue Aug 3 00:10:47 2010 +0530

    Camera: The Chroma buffer should be aligned to 2K for the encoder on 8x60

    Change-Id: I9885b63956420a1c4910f5c16c5c264a63ecec3a

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Fix to pass the correct yOffset for thumbnail encoding.

This is the port of the following commit:

commit bfc04529d21b66cfdb00d994a2ebd86bb39a80ef
Author: Apurva Rajguru <arajguru@codeaurora.org>
Date:   Wed Aug 11 16:22:25 2010 -0700

    Camera: Fix to pass the correct yOffset for thumbnail encoding.

    Thumbnail encoding is always done by software encoder. Set the
    yOffset to 0 for thumbnail buffer for all rotation angles.

    Change-Id: I22e074c0fac38b806b5930da3882d2064ffe07e2

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: use the correct preview dimensions in initPreview

This is the port of the following commit:

commit 0d115d107a9ee8b444c252183a2467d433a142e8
Author: Mohan Kandra <mkandr@codeaurora.org>
Date:   Thu Aug 19 11:47:15 2010 -0700

    Camera: use the correct preview dimensions in initPreview

    As preview dimensions can be changed based on the record-size, always use the
    updated preview dimensions in mDimension.

    CRs-Fixed: 251971

    Change-Id: I1cc8e45546fc560978478733f33173dc2f5f77cf

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
This is the port of the following commit:

commit 2f7681e9625bc8e05930f7fc108fea4278f45f14
Author: Nishant Pandit <npandit@codeaurora.org>
Date:   Wed Aug 18 02:44:54 2010 +0530

    Camera: Add support for 1080p resolution for record

    Change-Id: I55c6d877f9aab8f6c5003eb7fae60eede0dfe4a6

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Prevent calling ioctls for Scenemode dependent parameters.

This is the port of the following commit:

commit a5e7a6e961c5c3538005eae5336ec31cf65ad6eb
Author: Apurva Rajguru <arajguru@codeaurora.org>
Date:   Tue Aug 10 19:22:44 2010 -0700

    Camera: Prevent calling ioctls for Scenemode dependent parameters.

    Change-Id: I8e44f120a97776744dfcf21fd1fb9fa19a7bea33

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera: Configure Vfe before setting zoom.

This is the port of the following commit:

commit 59ec712afffc8418446120738193a3c7473f2ecf
Author: Apurva Rajguru <arajguru@codeaurora.org>
Date:   Wed Aug 25 13:03:30 2010 -0700

    Camera: Configure Vfe before setting zoom.

    Call set dimensions before setting zoom so that the vfe
    is configured correctly.

    Change-Id: I9ec4ed8981c8c315d8f9c53fbc0cc8cead61c9d0

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Camera : Set the snapshot buffer offsets and size as per required by gemini encoder for 8660.

This is the port of the following commit:

commit 32409f7aa365aa5f91c768503aa0fecdce9d62b8
Author: Priyanka Kharat <pkharat@codeaurora.org>
Date:   Wed Aug 25 18:11:03 2010 -0700

    Camera : Set the snapshot buffer offsets and size as per required by gemini encoder for 8660.

    Get the Y offset, CbCr offset and rawHeap size from the encoder and use the same for
    registering the buffer with driver according to different rotation values.

    Change-Id: I2b09b05bd96071346d0edf95113a34f571447b2b

to:
git://codeaurora.org/platform/hardware/qcom/camera.git
Print contents of cam_ctrl_dimension_t structure in native_set_parm

The crash in native_set_parm occurs for CAMERA_SET_PARM_DIMENSION
parameter. Dump the structure contents to see what we're trying
to set.