History log of /hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
742f098783e5ecd6370dcf9ef7648e82f64181bb 14-Jan-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Clean up ALOGE calls in non-error conditions [DO NOT MERGE]

Use ALOGI/ALOGD instead.

Bug: 12489802
Change-Id: Id7fc9147395af3a9a0fe135d1017a155aad174fb
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
cc0a016e6051847dfe4ccfd015f38b9d94093c64 13-Nov-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Use Stream Identity instead of Stream type

Since there is a use case with two Call back streams, send Stream ID's
instead of Stream mask alone through Set Parm.

Bug: 11293776
Change-Id: I7c3c0c180482a0eb5843c4ff2176a4bceb99bdb0
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
513aa7f18cb506cca3c94a5911bf6e5cf822a3a1 12-Nov-2013 Eino-Ville Talvala <etalvala@google.com> HAL3: EXIF: Set DATE_TIME_DIGITIZED to match DATE_TIME_ORIGINAL

Bug: 11632530

Change-Id: Ia6b0fc7b56331dbe8fb93a354e8fe464cf44f2af
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
90d91b45cca7f6a41c192dc800ec1d39fc255435 08-Nov-2013 Zhijun He <zhijunhe@google.com> Revert "Revert "Camera3: Work around for streams with different o/p rates""

This reverts commit d897e24270f74b8266a37e01a1dd2f4797b13258.

Bug: 10914356
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
f060ebe7f00ea62a029df01482e32b1d57c3efe6 14-Oct-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Validate request rate based on metadata rather than buffers

Bug: 11011342
Change-Id: I68c054027bb8b39ad30b0a3ca932b6cb888409c9
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
88275babe9ee86e0ec3d99c754f135fd69566d3d 13-Jun-2013 Sungmin Choi <sungmin.choi@lge.com> camera: Add EXIF tag information for maker and model

Bug: 9396502
Change-Id: I3dfa58c9077e147fb891ddd36143ebcc26cdf779
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
eb5811c1c2d94877464f2f01bd87a6373e9cdf2c 11-Oct-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Reduce the max inflight requests to 4.

This helps reduce latency as long as metadata reporting delay is 1.

Bug: 10712902
Bug: 10570497
Change-Id: If2ba7e947a4f31dae0598bab6862bb95613e4767
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
e45fa8ac28275910e0a7a8dabcef8cd7ffbfd04a 10-Oct-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Change max inflight requests to 5

Maximum inflight request has direct impact on latency such
as shutter lag. Even if the real camera pipeline delay is
5, whenever HAL misses a request on SOF boundary, more requests
are accumulated in HAL. And eventually maximum number of
requests will be in flight.

Profiling shows saving of 100ms when changed from 7 to 5.

Bug: 10712902
Change-Id: Ib00d58a6045f8f545f127ec97f2800f8e3c9dfe6
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
14dfc272241ba78c85a327da2872e71b3208f8c5 07-Sep-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Add LOG_NDEBUG in all source files

This will help debugging

Change-Id: I12748efab9c1b6652394b4ef9c927365935c9924
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
41da374a8252b52dbf5f430602859095710b3cde 05-Sep-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Fix rapid ZSL snapshots

-In case of rapid back to back snapshots framework
reuses ZSL YUV frame
-Remove code in HAL which assumes that once a buffer
is passed as input it will not be used again

Change-Id: I72a0f527de99b96508c7020455a47bfe754d9df4
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
c232705a3fe88a15722efec36dba335e417b7feb 05-Sep-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Set extra usage flags for video stream buffers

For video stream buffers, set READ_RARELY and WRITE_RARELY usage
flags so that gralloc may make them uncached.

Code cleanup

Bug: 10328870
Change-Id: If3bbbbb0976266f69962db7df568c763dad488aa
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
d63e05e886cb66cbbd321c0f5441e17e66ba25da 31-Aug-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Add reprocess path for ZSL

Add the reprocess path for ZSL to enable WNR, ASF and rotation
reprocess

Change-Id: I132be710e5fe1cc1436626679a7f533f73f9ae0a
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
d897e24270f74b8266a37e01a1dd2f4797b13258 29-Aug-2013 Mansoor Aftab <maftab@codeaurora.org> Revert "Camera3: Work around for streams with different o/p rates"

This reverts commit 8558a1da9832ef3034c28845538e75c2f3c4fab5.

Change-Id: Ic5c48e2c18cfc6f2a1e9c2a15fdd1ccd082ed3cc
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
ca0c6f9e32946a98ee2534ef14928192fb1a453e 30-Aug-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Only queue snapshot YUV buffers before snapshot request

Since we are starting all configured streams before the very first
request, we want to make sure we are only queuing the YUV buffers
when we receive the snapshot request.

This logic only applies to non-reprocessing capture. For reprocessing
capture, since we already have input buffer, we don't need to queue
any buffer into hardware.

Bug: 10544282

Change-Id: Ia3434160f4944649fd327b839f9130edb32b54d1
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
0b29a823918d0d5f60fc1cb00b143477b3adba91 20-Aug-2013 insup.choi <insup.choi@lge.com> camera: adding exposure time to EXIF

Bug: 10037666
Change-Id: I5b9e044300ccf901838dc69d5877167c1f102b3b
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
34a6e88cee59495adcf1437d027c105171738a07 01-Aug-2013 Nagesh Subba Reddy <nageshsreddy@codeaurora.org> Camera3: Pass stream type mask as part of parameter

Camera3 request contains both settings and buffers as one entity.
While HAL send setting via setParameter, and queue buffers to kernel
via v4l2 QBUF.

To make sure proper synchronization between them in the lower layer,
HAL specifies which streams does a particular request expects buffer
from. This implicitely maintain the association between request and
buffers.

Change-Id: I945578d2180b0755e7bc5936daeebdb371cccde7
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
025ab8ca7a6d9228b3c8cc04a4f1741defe526ed 29-Jul-2013 Nagesh Subba Reddy <nageshsreddy@codeaurora.org> Camera3: Use different stream types for different streams

Add a different stream type for app callback streams, as well as
distinguish between zsl snapshot stream and non-zsl snapshot stream
by using different stream types.

Change-Id: I0d68ad61e1a3409bd9555af90895da95a8c9628d
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
c6f7291ea07883e0b6a274319f7e5b01c4a01578 16-Aug-2013 Mekala Natarajan <mekalan@codeaurora.org> Camera3: Enable rotation reprocess

Enable snapshot rotation through cpp, so that we can
use hardware jpeg encoder

Change-Id: I02a70d9b2e6b45635390cff5f113799dbbcb4768
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
7ee407aa1024789089aad411c372c79423699976 30-Jul-2013 Ajay Dudani <adudani@codeaurora.org> Camera: Initial commit for reprocess

1) Create a new channel for reprocessing
2) Make changes in postprocessor to enable reprocessing
3) Pass metadata buffer to reprocess

Enable reprocessing path for WNR

Change-Id: I0afd20be5ed087f04eabc4324a413659d9b0e7f1
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
e469cee047c5f2b3e91f609f5cc6524a3c4ce05e 20-Jul-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am 5a1f608c: am 50e303f9: Camera3: Protect against deleting un-initialized channel obj

* commit '5a1f608c94a92a23055607d04eb98fb8e09732e3':
Camera3: Protect against deleting un-initialized channel obj
50e303f9fac7406547b13e3713162812e7cbfd34 18-Jul-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Protect against deleting un-initialized channel obj

Bug: 9886166
Change-Id: Ibe2f6a93180ad7e02842d3d80fd95ca35551c9c3
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
085dd635c27cb2057d34ed6695aed29624e4b560 17-Jul-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "Camera3: Add ZSL snapshot support"
c8d1059ae679132e7654708fdfca6ee221775187 17-Jul-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Add ZSL snapshot support

1. Fill out supported hardware level in static medatada.
2. Use BLOB stream's size as the size for ZSL stream.

Change-Id: Ica8ee7974c1f22bb4be68be8e41a94560f24c4f0
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
5f5f746aff0bc74434139d44301c5b414a63cebe 17-Jul-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "Revert "camera: Add EXIF tag information for maker and model""
10bf682b54d6ff703c42feaf17ba8f6e3ab3a891 17-Jul-2013 Vineeta Srivastava <vsrivastava@google.com> Revert "camera: Add EXIF tag information for maker and model"

This reverts commit 120dd2c03b81058ae019c5971e2fd8fa4a223a2f.

Change-Id: Idd0fd54c95e2115ebf4b4bafaf40e7f3c2c03289
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
2f0dc524b1cce88a85757118419d1dc08916e650 15-Jul-2013 Ajay Dudani <adudani@codeaurora.org> Camera3: Increase meta data buffers in line with preview buffers

Increase meta data buffers to meet the pipeline delay for per frame control

Change-Id: Ia2cc30a41417ef3ad144f8f91826e90cb49b0571
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
4c1cc8306df68df2dc6278e5f7b14cd3ce039db9 11-Jul-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am 89f3e62f: am 221ef4d6: Camera3: Halt Snapshot stream when not in use

* commit '89f3e62f1fe7d9a1b6029454d2509e04d93f7ee0':
Camera3: Halt Snapshot stream when not in use
73c570caacb28bc79e73e6c4dfed4536483a8660 28-Jun-2013 Nagesh Subba Reddy <nageshsreddy@codeaurora.org> Camera3: Add query capability

Query capability for
- analog sensitivity
- scalar available processed min duration
- scalar available jpeg min duration
- Increase kmax buffer count

Change-Id: I4521932462c8897fb4e01725f07508d946fd18f3
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
221ef4d6a8613c5ffa33b5a7a8c36a4acb8605ae 09-Jul-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Halt Snapshot stream when not in use

Halting snapshot stream when not in use by following
indirect changes

* Change total # of YUV buffers for snapshot to 1
* Dont return buffer when snapshot encoding is complete
* Return this buffer only when next snapshot is required

Bug: 9669777
Change-Id: I33a838fe3aebdbdeb6ccfb666f4e1ac545925b9f
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
e3596d9f83223762141616890f9687cb0a13048a 26-Jun-2013 Mansoor Aftab <maftab@codeaurora.org> am 5ba2c244: am 8558a1da: Camera3: Work around for streams with different o/p rates

* commit '5ba2c244a14a5d8486b35822ed0a21cc1b28d597':
Camera3: Work around for streams with different o/p rates
8558a1da9832ef3034c28845538e75c2f3c4fab5 20-Jun-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Work around for streams with different o/p rates

Whenever there is a situation where 2 streams exist with
different o/p rates, we will end up slowing the faster
stream since rate control is acheived by blocking process_
capture_request.

Above situation manifests as glitch in video livecapture,
putting in a work around by marking # of jpeg requests as
2, since this wont be exercised in current API.

Bug: 9212803
Change-Id: I5a27f54da57319400157932df60d5374a396ddb2
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
120dd2c03b81058ae019c5971e2fd8fa4a223a2f 13-Jun-2013 Sungmin Choi <sungmin.choi@lge.com> camera: Add EXIF tag information for maker and model

Bug: 9396502
Change-Id: I3dfa58c9077e147fb891ddd36143ebcc26cdf779
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
9a351c81529b36fd8b6978ca21a27bdc56a01355 05-Jun-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Fix JPEG Exif CTS test

1) Destroy an old jpeg session before creating a new one
2) Fix error handling from mm-jpeg-interface to HAL
3) Fix the way GPS_PROCESSING_METHOD is read and updated in HAL

Change-Id: I6e784bc53fb1cdc1110d1b0ecfc0b1da435dbd14
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
3fa5d84cc454e0a301fe868d2a9aec3bf631f35c 05-Jun-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Update EXIF tag information

Add focal length and iso information to EXIF

Bug: 9179852
Change-Id: Ibd35ac6b458f82958b4e5982ccf8de8c551b7fa5
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
53074dcacf200e7252b5d064733b09d027d378e4 30-May-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Fix issues with exposure compensation

* Add exposure value exif tag
* Pass exposure compensation setting to daemon

Bug: 9112666
Bug: 9166232
Change-Id: Ib728891fc074e30003defe84b1e214e8e7f9ebc0
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
b2b7907666ba95f2aa4aa19ad8533b265fdc7d0e 17-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Fix JPEG encoding for different orientation

For A family chips, hardware encoder needs input buffer's height to
be multiple of 16. And to better support rotation, there needs to be
16x padding both on top and at the bottom.

A family hardware JPEG encoder supports rotation, so still capture
rotation is done by encoder instead of by other hardware component
(such as C2D).

Change-Id: Ia6c85f2379c9c4e17d2c7819533f96ed243373ee
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
8867984d33ed870071109a4500402dddbc85c048 11-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Implement the preview callback.

Support flexible format for Preview callback from
camera HAL side

Change-Id: I3fb50ca7c63cb9cc48c9471b3a27783b6d61e38e
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
0a686661965fcbbfabf2d5e3c2768c9582828226 07-May-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Fix Corruption for Snapshot

-Add cache cleaninvalidate call for Jpeg output buffer
-Remove additional Scanline as result of height padding

Change-Id: If075718f38fcf0615b8c57842a9e75cb63f08439
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
744f5403bebb0e27140d16a5df7a341713c24a13 05-May-2013 Nagesh Subba Reddy <nageshsreddy@codeaurora.org> Camera3: Update HAL code from AU 221 to AU281

Change-Id: Ie24a113648b00c2069db4e79c805d96df977bfd7
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
d5d5a90863708ac1cdbef25c41853b6f6f05d4e2 05-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Code clean up and bug fix

- Stop all streams before removing any of them. This is due to
hardware limitation.
- Remove compilation warnings.
- Eliminate log flooding.
- Remove conditional compiled-out code.

Change-Id: I606bf495f76c0cc67ebceed699b371ab939d73a4
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
65585b2d14faf1e7fa78560f8c9cd27d76c408ab 26-Apr-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Merge recording & snapshot functionality

-Previously recording only worked with 1 cont & 2 burst config
& Snapshot operates in 3 continous mode.
-Fixes in initialize sequence of snapshot channel, to enable
video to work in 3 continous mode as well.

Change-Id: I4e03bb63a010feb8d8d75023a2221b06bd33f16d
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
b66f295ef24aea24873bcf80cee589835338e2a1 26-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Integrate fixes for preview, capture and video

1. Fix StaticMeta and compilation warning
2. Set HAL3 version in Parameters

Change-Id: I23aa0df37a58e847f1ca738a335d50b99f1f5a06
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
a4f99c05471ae7d2b57f20b1178e0a8597596fb0 24-Apr-2013 Apurva Rajguru <arajguru@codeaurora.org> Camera3: Send buffer index info to post processor

Send jpeg output buffer with index information to
postprocessor. Index will be used to choose the
appropriate frame to be send back in process_capture_result.

Change-Id: I1cd5479917a4780b95fd5beca6fb9227fb2e41e5
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
f2fc1625456303cb52ec068d25308229e4322d4c 19-Apr-2013 Mansoor Aftab <maftab@codeaurora.org> Camera3: Snapshot bring up

-Configure Snapshot stream as continous
-Configure Pic Channel as Burst
-Change mechanism to get buffer to on request

Change-Id: I4c0860c26b5c253e4464875620bd48d73dedb294
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
e502ddd6da40b9779e0d51e5f312f3d378ebe505 22-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Enable video recording

-Various fixes relating to buffer count
-Configure continous/burst streams accordingly

Change-Id: Idbd9d2dfa76fd16e3922861cbfad44ffe8348307
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
1c6fa865f97afe06b8b9d9520390a37dd86f55e1 18-Apr-2013 Tanmaya Godbole <tgodbole@codeaurora.org> Camera3: Add metadata and buffer aggregation in callback

This change makes sure the ordering of shutter callback,
capture result callback.

It also handles the case where a particular metadata packet
is dropped by mm-camera daemon. We maintain a list of pending
requests in the HAL so that when drop happens, we can return
an empty metadata to the frameworks.

Because metadata packet from daemon is the indication for both
shutter and metadata, we need to cache the filled buffer until
the matching metadata arrives in HAL.

Change-Id: I1e04ef821d535cba09afbf37aec6e7697a37ad7b
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
33cb7276f6c4d2eda72253d11cd9242e1f82bf7d 11-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Enable preview

- initial_reg_flag is used to indicate whether to queue
buffers to the hardware before streamon. Remove code
in mm_stream_qbuf where VIDIOC_REQBUFS is skipped if
any of initial_reg_flag is 0.
- Apply change I5f8f5e2b2c86dfae3cae2b76886dd96eb1d261cc:
"QCamera2: Trigger buffer cache invalidate just before queuing"
- Use PRIV_FLAGS_HW_TEXTURE private gralloc usage flag for
preview frame.
- Improve member variables initialization and cleanup
for QCamera3HWI class.
- Remove redundant functions in QCamera3HWI.
- Add cleanInvalidateBuf function pointer to mMemVtbl.

Change-Id: I416bd169eb0d98ed268c41f128636ed451c6de23
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
66cadfdce2ea19f4707bf2a595b58bd36fbfdf3b 04-Apr-2013 Apurva Rajguru <arajguru@codeaurora.org> Camera3: Initial snapshot implementation

This change implement non-ZSL image capture for HAL3.
QCamera3PicChannel manages the YUV stream, as well as
JPEG encoding using postprocessor.

Change-Id: If9e5fb71f38b8a37fb2a4de26f1504dcafed761b
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
e6ab32d89cf169705236988f0f74309f914c88b7 04-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Implement capture request & capture result path

- Implementation to process requests at channel/stream level
- Start streams if first request & Qbuf the buffers with each req
- Capture FrameNumber for the buffer.
- Implementation for the capture result path.
- Generate all the data required for the result at the channel CB
- Add mutex to QCamera3HWI to avoid concurrent access to APIs
- Fake frame numbers when FAKE_FRAME_NUMBERS is defined

Change-Id: I9f000e9460f83a75975ac546184ca9344e87c4e8
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
9de643761e1282fb5af14a9249618efa9d8ac8fe 04-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Implement process_capture_request and metadata channel

Also add getStreamBufs and putStreamBufs functions in channel
class to be used by getBufs/putBufs from stream.

Change-Id: I8e3ef37cfdb046ffe75ba1a5c1a8c0f7ac072763
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp
625515beb9c1347216a2d261930ceb0d85ba1c47 08-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Initial implementation

- Implements the scaffolding code for camera3 HAL
- Moves QCameraCmdThread and QCameraQueue to util/
such that they can be used by both HAL1 and HAL3
- Adds stream and channel classes. stream class abstracts
mm-camera-interface stream. channel class abstract
mm-camera-interface channel, and acts as an adapter
for camera3 frameworks defined stream.

Change-Id: I27c25da4085faf33320bae049bf19df5ce5165fb
/hardware/qcom/camera/QCamera2/HAL3/QCamera3Channel.cpp