History log of /device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ea8c745a827578e7d67831f94aa33cdeccc6550e 30-Sep-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Fix color space for gralloc buffer

This fixes Change Id I7eae741fb7167bd8bdecd1fb026e2bb34f04ec2c
where instead of using stream_type to set color space,
use capture_intent.

Bug: 17700720
Change-Id: I37adffad98ef5f9ac1ae1d0935d3ef77588859fb
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
26aae0d7dbe6d4c8a9c189486ddbc0cacbcc7ddb 24-Sep-2014 Mansoor Aftab <maftab@codeaurora.org> camera3: Use JPEG size as ZSL stream size

Previously in ZSL mode, both ZSL and non-ZSL snapshot streams use
active array size. This causes issue with FOV handling in ISP. ISP
will try to fit the snapshot stream in the crop region set by app,
and results in loss in field of view.

For example, suppose sensor active array size is 4208*3120, preview
size is 1920*1080, and JPEG size is 3840*2160. App sets crop region
to achieve 16*9 aspect ratio by cropping out top and bottom of the
active array. With this crop region, ISP tries to fit the snapshot
stream (4208*3120) in the 16 by 9 FOV, this obviously results in
FOV loss.

The fix is to maintain both ZSL and non-ZSL streams to be JPEG
size.

Bug: 17610699
Change-Id: Ib6149577faa4aef56a98a80094e339fd55607c6e
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
df276eec646ca036ae79b281a42e127ce645c1b9 16-Sep-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Set EIS mode based on capture intent

Set EIS mode based on capture intent so that it will be effective
for camcorder preview mode as well.

Bug: 17417182
Change-Id: I70324ed0c0ca1f1831b78ce323644640cd6ea8ba
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
1211c7657cfc20e4aed0464881aae5356f8257c9 05-Sep-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Fix order of stream creation/start and top/destroy.

For non-reprocessing stream, always make sure create all streams
before starting any of them, stop all streams before destroying
any of them.

Reprocessing stream is an exception where it can be created after
other streams starts, and destroyed before other streams stop.
We do make sure not to stop reprocessing streams after online streams
are destroyed.

Change-Id: I7cfc3aa1830ff352ff8900e3c86f170ff837d1c0
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
f4d4859a0b088ddf404e020f37c6eecce8a153e0 04-Sep-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Control EIS setting based on setprop

1) The default settings will be EIS OFF for camera,
and camcorder.
2) Add system properties to specify type of EIS.
3) From the HAL, turn on EIS for video except 4k,
if EIS is enabled

Bug: 16825976
Change-Id: I6cedc0fcd69a0319df3734795fde40db49de8f0d
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
6bab30fdc480a0576149250459fc79b6566e7a62 28-Aug-2014 Mansoor Aftab <maftab@codeaurora.org> Camera3: Enable dumping of yuv images if needed

Dump the yuv frame if the setprop persist.camera.yuv.dump is set.
The frame before reprocessing is titled 1_xxxx and after reprocess
is titled 2_xxxx.

Bug: 16903076
Change-Id: I14879fac5ad1956734a786ce1308c5574881c1a1
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
1bedd5e73084a1314868cfe99b3691ea6253c375 21-Aug-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Change reprocessing from stream based to frame based

Change the application of reprocessing parameters from a stream based application
to frame based application. This ensures that we support different reprocessing
parameters (rotation, denoise, sensitivity) for consecutive snapshots.
This fixes the sticky rotation issue.

Bug: 16963411
Bug: 17045533
Bug: 17093259
Change-Id: Ie47df4633ff4155e659e2be4193f2e9e8fcf016f
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
eea6de28530bf3613e0cfde3e14a1687989e38e2 19-Aug-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Implement reprocessing buffer queue

Since we support > 1 snapshot requests in flight,
we have to maintain a queue of mapped reprocessing
buffers and metadata.
This partially fixes bugs testJpegExif and testRepeatingJpeg
because it puts the infrastructure in place to change the
jpeg parameters on the fly.

Bugs-fixed; 16963411, 16963608
Change-Id: Id4b3f69ffbb397181356e6b5b8512b56364112d3
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
14fa28b76cd2754d66b540c11a82d61dc5402b49 19-Aug-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Queue only available snapshot buffers

During repeating/burst snapshot requests the
incoming BLOB buffers can be different at every
request and in total can exceed the amount of
allocated buffers in the snapshot stream.
To avoid using invalid/non-existent buffer
indices during snapshot buffer done calls a
bookeeping mechanism should be introduced,
which will queue only available snapshot
buffers.

Bugs-fixed: 16963411, 16963608
Change-Id: I2b18d0324d34becb1a382b001bc9bab3264b0958
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
5c1b1f8663a480733b3b8ef5bcccc880da626475 18-Aug-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Add support for MIPI10 to RAW16 conversion

1. Add conversion function from mipi10 to raw16
2. Fix a bug of missing parameters into QCamera3RawChannel
constructor.

Bug: 16830087
Change-Id: I5aea3a9f8e5a763754c1e2d867fa6946313fb7d0
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
562ed2590a88e44705b9ed716928358a18ac8f72 30-Jul-2014 Mansoor Aftab <maftab@codeaurora.org> Camera3: Enable Raw dump from HAL

Enable raw dump functionality from camera HAL
Triggered by setprop persist.camera.raw.dump 1

Change-Id: I320bc2a7ec1b23fbe639b578db913aac33d00562
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
2b3590af3effb6eae20cb6e07bc655d71e593d90 21-Jul-2014 Emilian Peev <epeevs@codeaurora.org> Unify ZSL/non-ZSL reprocess

Unify the offline reprocess sequence
between ZSL and non-ZSL.

Change-Id: Ifb1753e35d26696e57b24d725b0067135295114f
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
cb5202ca35f529dd5497ba95b68d593f389e718e 18-Jul-2014 Emilian Peev <epeevs@codeaurora.org> Camera3: Restart postproc on ZSL/regular capture switches

Currently posptroc will get configured only once
on fisrt picture channel request. During
implementation-defined ZSL the client could switch
between regular capture and ZSL capture dynamically
depending on multiple variables. The postproc
component needs to be re-configured on each such
switch so it can work as expected.

Change-Id: I3fad91a5ff0955bfc355efdf7378cac9900fbc8e
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
c5fe3edfe9d36159bfa7970f0d555c95e5fe2803 10-Jul-2014 Emilian Peev <epeevs@codeaurora.org> Camera3: Match snapshot and video format during 4K

Video and snapshot stream formats should match
during 4K recording use case. Additionally
post-processing should be enabled for the snapshot
stream during video recording and re-processing
should be disabled.

Change-Id: I3b0d9d12d2e7c313206214ac98cfaf732a9168bf
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
59f2cd237425db28760b0506321a7ac0132f23fc 16-Jul-2014 Shuzhen Wang <shuzhenw@codeaurora.org> QCamera2: Add burst jpeg capture feature

- Increase number of snapshot buffers, reprocess buffers
- Increase QCamera3PicChannel::kMaxBuffers so that framework
can queue multiple capture requests without having to
wait for the result callback
- Add check in QCamera3PostProc to ensure metadata and data
is dequeued from input queue only when both metadata and
data for a frame is available

Change-Id: I2ea7c57e5f314838382f0b702fe5c9cfbf834480
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
e363fcca375a7083001c406c0aad97382bfbba9f 11-Jun-2014 Emilian Peev <epeevs@codeaurora.org> Camera3: Add support for framework buffer reprocessing

Add support for offline reprocessing of framework
input buffers that possibly don't belong to any
active source stream.

Change-Id: Ia1ba4e469073184c4806c2f542e050265714ca18
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
c54bbdb4c371df2fb0bb932ed5368deeda023520 18-Apr-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Add support channel when there is only one raw stream

This makes sure that in the case of single raw stream:
1. Metadata and statistics can be collected for raw result.
2. Works around a mm-camera daemon limitation where single raw
stream cannot be supported.

Change-Id: I7a3787b8190f7d01d3dc2c43f8ab174a855ccc16
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
0ff3e130b0b7ab7cd8c3ed9cc974d4ff4b55d200 04-Apr-2014 Mansoor Aftab <maftab@codeaurora.org> Camera3: Implement Raw capture up to HAL

This change implements OPAQUE_RAW and RAW16 capture
functionality.

If RAW16 stream is created, HAL does internal software
conversion from opaque (10bit) raw to RAW16.

Known limitation: Currently there has to be at least one
YUV stream configured for the raw stream to work.

Bug: 13769626

Change-Id: I6b72f2f64d2c81677b0d974ab462cedbef248861
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
6ed96d8e18a2b9da76710be05a9d71d491ecc645 04-Apr-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: Enable Raw & Metadata in camera

Add raw channel and metadata support to camera.

Bug: 13769626

Change-Id: Ia3864a68bc613637a05a9d4d1625212d0ffc905f
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
c3d1803d33363cde9a24cf02e0e20dc2e6cc9d2b 17-Jun-2014 Tanmaya Godbole <tgodbole@codeaurora.org> Camera3: Send postprocess information to backend

During stream configuration, send the postprocess
feature mask information to configure correct stream
topology

Change-Id: Iefc39824e3601f16ed428cbb0e8166dd63e163b4
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
994b23c3be9b00a77b60b8d07ff8aeea1de4d47b 26-May-2014 Shuzhen Wang <shuzhenw@codeaurora.org> Camera3: HAL refactoring

1. Add vendor tag in preparation for using it
to store opaque metadata needed for ZSL
reprocessing
2. Generalize reprocessing to offline reprocessing
such that it doesn't depends on either metadata
buffer or the input buffer belonging to a particular
stream.
3. Remove mJpegSettings member variable so that jpeg
settings can be queued/dequeued the same way as
buffer/metadata during postprocessing.
4. Partial implmentation of Zero Shutter Lag: assuming
that a flush() call precedes reprocessing.

Change-Id: I4bbf91a510894ece2584d501546fb0551316fea9
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
d7c2a7eeb825a4a7909bc0c9746bc503ffeced28 01-May-2014 Mansoor Aftab <maftab@codeaurora.org> Camera3: Remove redundant Buffer tracking structure

Simply the HAL logic by removing redundant buffer tracking
structure.

Change-Id: I972e0868d08384209fe413fd5398c2e113a3fab0
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
3b66d5a7e4d867e5b18edc282e8673ee1a0589fc 27-Feb-2014 Ranjith Kagathi Ananda <ranjith@codeaurora.org> Camera3: Remove unnecessary heap allocations

Remove unneeded heap allocations that could
lead to future leaks.

Change-Id: Ib7671b88ddbe36575beaa8418c147ffaba3ef9de
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
2f2bee491becea57998e77607af5cca31304ed23 13-Feb-2014 Ranjith Kagathi Ananda <ranjith@codeaurora.org> Camera3: Remove buffer registration phase

Instead of registering all buffers upfront
all client buffers are registered on-the-fly
during process capture requests.

Change-Id: I6230829f9ac8eb1c7ddc26f2408dc948ce7b4682
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
2cdd3dea9a7b797ca2795b0ce643e18640998d54 28-Sep-2013 Rajaram Gudivada <rajaramg@codeaurora.org> QCamera: 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.

Change-Id: I84ec225be8a39ea587fb5eabff7ffbf9889df703
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
c14c36c12f3fe65c209f99e43e2863ac71202e32 29-Oct-2013 Tanmaya Godbole <tgodbole@codeaurora.org> Some more HAL3 fixes

1) Fix compilation
2) Send the maximum jpeg size to pproc for jpeg_open

Change-Id: I06770305bae2e3c45105f657838169f62885d4ab
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
9e1f6f176149940608d07b8b36d47f5aa360cc89 01-Oct-2013 Rajaram Gudivada <rajaramg@codeaurora.org> Camera3: Enable Raw Snapshot functionality

Add support for concurrent RAW and JPEG.
Limitation: RAW Config and RAW stream ON is done
at the end of all Streams due to Chromatix ptr not
reaching CPP if RAW Stream ON called 1st from HAL

Change-Id: I9df19d8015e08c0e080fe9703c4b8d4496df5bb9
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
39823f16b1446229e82116bb9feae07617bf8d14 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: I521cb23e5a71904a3b68f5e89775fd2b6ac85256
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
f42530d76df438b3d06ab686a91dda6f7bf48747 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: I964de3309afb76c827e3744c4e0fe26a2a8823d6
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
f25a4d794ce282436852a76728fe34f32c2d428e 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.

Conflicts:

QCamera2/stack/common/cam_types.h

Change-Id: I9c318c18e5fe092edaf877dd4faacb91a3522ed4
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
ee51f1ade884c98d798fd99d191a6ee38ce62298 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: Iecceb27a88ed45c72d49aaa45cedabc844c332c1
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
49bc251d5c2bc9bd25f617ea9b2a833e6525ad37 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: Ifd6675f5b68032190037f42d19dc593a208644e7
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
9df8dc6eed79170f9e83d6936ac0c3183eb52699 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: I452ce07b53bcb030b5d36a9bdded3526c442137c
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
b40ba14fc8465056f5394cddb58db8710183cd4a 12-Jun-2013 Ajay Dudani <adudani@codeaurora.org> Remove dependency on is-board-platform-in-list to determine target

Conflicts:

Android.mk

Change-Id: I2fe4ce132a34d383b972ac78002174fdfe01babe
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
e74d4777bf965e774455c9c045152c9d827e2442 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.

Conflicts:

QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c

Conflicts:

QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c

Change-Id: Ice1a9644b7d40130e377d1d4d5c713ff52f7d473
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
67040ce740226e72388ee220fc1a58a96a21b570 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: I629718848e12122dec0b9252e629f60f8e672aaf
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
d8e020829dd49e404cda624fecc7438ef6fc367c 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: Ibce10ca8352808f196f8553121a78fc8f7e57ab8
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
da685655fbfa4a94fb57df635b79a78fd128aeed 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: Idd68e1f636ea1564bb7763623126e4dfb560eecd
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
dc57c37f087b05c0817418998ddb12566714e5d3 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.

Conflicts:

QCamera2/stack/common/cam_types.h

Change-Id: I6fb445c6c1127f401f800a382a0477732b5c7ae6
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
5abca8ce9f07fff8687b60b811bfe2a39a53590c 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: Id3fcca21d2360cdddd3dfacc11becfd065025b85
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
bf2109e98d4a9b589b874afb2a470004c4960525 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: Ia7358f8f8617ff7756ce10cf453d1f21c13331a1
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
19bdf0b5446afffaa910d162ec180b0e4a38032b 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: I77573745a280918b1fde0a75d6934da0cf8a7c64
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h
3b8460ae3d80a628857ff98cf90cfe4a8fc47b41 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: I76d010f004fcf3689bfded37c890f1eac70cc90e
/device/moto/shamu/camera/QCamera2/HAL3/QCamera3Channel.h