History log of /hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bc2107272699f39ab4324ac1231ab27b7be5ba69 15-Dec-2017 Emilian Peev <epeev@google.com> QCamera3: Set the gralloc usage of dummy batch stream correctly

A dummy batch video stream is used internally in case clients are
working in constrained operating mode without an actual video stream.
The dummy stream is using exactly the same stream parameters as the
preview which includes the gralloc usage and this will eventually
override the dummy stream type from video to preview. Trying to link
two preview streams with batching enabled in camera backend will
result in failures.
Additionally fix a possible double free of the batched buffer
definitions inside the dummy batched stream. The stream will never
start and as a result stop will not be called as well. However
batched buffer definition will get allocated and en-queued inside the
free batched queue. If we avoid stopping, we also skip flushing any of
the free buffers inside the queue. They will remain in the queue until the
stream object gets destroyed. The queue flush implementation will try to
release the queue node data which at this point is already freed by the
camera interface layer.

Bug: 70631003
Test: Camera CTS
Change-Id: I9e0c222397a42e51a1343ab17a7285dbc9e1b76d
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
117df9602da253b171800c0ca48c2baea1380557 22-Sep-2017 Emilian Peev <epeev@google.com> QCamera2: HAL3: Avoid race condition during HFR video stop

The video stream stop sequence can encounter a race conidtion
in case pending buffers arrive during the same time frame. Any
incoming stream callbacks that manage to execute during the
window between 'mDataQ' flush and 'flushFreeBatchBufQ' will modify
the 'mBufsStaged' counter without the knowledge of the top
'QCamera3HardwareInterface' instance. This makes subsequent calls
'aggregateBufToBatch' prone to batch overflow errors.
To resolve this, call 'flushFreeBatchBufQ' before flushing 'mDataQ'.
This way calls to 'aggregateBufToBatch' from failing stream
callbacks should not be successfull in modifiying 'mBufsStaged'.

Bug: 65549208
Test: Camera CTS
adb shell am instrument -w -r -e videoCount 400 -e
screenshotOnFailure true -e videoDurationMs 10000 -e timeout_msec
21600000 -e class
com.android.camera.stress.CameraStressTest#testBackCameraHFR120FPSVideoCapture
com.android.camera2/android.test.InstrumentationTestRunner

Change-Id: I0e70db16cca4fd1bcda0f57aee1b0a1ba4016b27
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
063deb5e04459641c701b5cbf30d8c710b796298 16-Aug-2017 Shuzhen Wang <shuzhenwang@google.com> QCamera2: HAL3: Do not send virtual address for map_buf

mmap() operation is expensieve. For gralloc buffers, only do mmap() if
necessary:
1. for streams where CPU access is needed, such as metadata stream,
RAW16 stream, or streams where YUV dump is enabled.
2. for buffers that need CPU access such as JPEG encoding.

Test: Camera CTS
Bug: 64157384
Change-Id: I0467f3369ca022a8d3c41c542de8a0ba5de4350f
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
3ecc52ca6a43e1027319ff0059a0e2747966f239 07-Aug-2017 Shuzhen Wang <shuzhenwang@google.com> QCamera2: HAL3: Avoid blindly invalidating buffers

ImageReader buffers are invalidated when calling lock when buffer is
consumed, and it's not necessary to unconditionally invalidating them
when they return to HAL.

For HAL internal buffers, if they are consumed by reprocessing, they are
invalidated with postproc.

Test: Camera CTS
Bug: 63950311
Change-Id: I80e4a992e29a314dae444db958f8307c8a54fdb6
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
26ea6ac35479efe4ddf126a7898dc0fc233bb7a5 18-May-2017 Shuzhen Wang <shuzhenwang@google.com> QCamera2: Add more traces for reprocessing

To enable comprehensive tracing in camera HAL, set the below property
and restart camera processes.

adb shell setprop persist.camera.kpi.debug 2

Test: Run camera, and observe trace
Bug: 36890286
Change-Id: I357681867af88bf02acc152fc7b4690521090bf6
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
1ccae415116c6d658fb87a1310a62e65375e251b 09-Jun-2017 Zhijun He <zhijunhe@google.com> Revert "QCamera3: Try to recover from failure during buffer cancellation"

This reverts commit eaaa783554f9de7531d66f33efcded891e9606af.
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
eaaa783554f9de7531d66f33efcded891e9606af 24-May-2017 Emilian Peev <epeev@google.com> QCamera3: Try to recover from failure during buffer cancellation

Buffer cancellation could fail for variety of reasons.
In this case there is a chance that requested buffers may never
return to client. Try to avoid that by handling the failed
transaction status code and returning the specific buffer which
will be tagged accordingly.

Bug: 38485302
Test: Manual using application,
Complete Camera/Camera2 CTS.
Change-Id: I71e38b25374a887cb74f3c21b595e6ee1dc88dbd
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
3c077d73494b534143fe755b85ea6c68604ebc26 21-Apr-2017 Shuzhen Wang <shuzhenwang@google.com> QCamera2: HAL3: Improve camera startup time

Send 1st request before STREAM_ON so that the setting can be applied
sooner. Now the first output can be as early as the 2nd sensor frame.
The first sensor frame is usally skipped at the hardware level.

Test: Camera CTS and GoogleCamera manual test.
Bug: 35937454
Change-Id: Ib187e4b5bc7dadfb65c177e8a101fe674d40f30f
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
49c4c6b9370de83553cb9f8bc59de058c540b4cb 24-Apr-2017 Emilian Peev <epeev@google.com> QCamera2: Propagate initial NR mode to stream info

For optimization purposes the initial noise reduction mode is
needed as part of the stream information.

Bug: 37320397
Test: Manual using camera application.
Change-Id: Ieaa496cd0000ebab05f9538b952cd2fd8ba6a109
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
54dc9783295b20e33ec11e132d98a1b8efbf254c 15-Feb-2017 Thierry Strudel <tstrudel@google.com> msm8998: Update to 07.01.01.253.064

msm8998: from hardware/qcom/camera
5517ed617 Merge 7117e99e7afddfdd9f343eb49e2048ac2fa0d30c on remote branch
7117e99e7 Promotion of camera.lnx.1.0-00179.
51e54c017 Merge "QCamera2: DualCamera: Read Sensor OIS data" into camera.lnx.1.0-dev.1.0
858ff0412 Merge "QCamera2: HAL3: Add vendor tags for BSG" into camera.lnx.1.0-dev.1.0
ad9c914f4 Merge "QCamera2: HAL3: Add vendor tags to query controls" into camera.lnx.1.0-dev.1.0
78f66c763 Merge "QCamera2: HAL3: Set up necessary flags for ISO priority" into camera.lnx.1.0-dev.1.0
0b1c49710 Merge "QCamera2: HAL3: Add support for Auto HDR metadata" into camera.lnx.1.0-dev.1.0
b4e903847 Merge "QCamera2: add overrides to force FOVC camera switch" into camera.lnx.1.0-dev.1.0
6e7a05a80 Merge "QCamera2: HAL1: Checking capabilities for HW rotation." into camera.lnx.1.0-dev.1.0
3217d0dbe Merge "QCamera2: HAL3: Add JPEG debug data" into camera.lnx.1.0-dev.1.0
468ea6b40 Merge "QCamera2: Changes to open camera only once in Qcamera app" into camera.lnx.1.0-dev.1.0
06bf7efc0 Promotion of camera.lnx.1.0-00178.
51a1057d5 QCamera2: DualCamera: Read Sensor OIS data
f2995583e QCamera2: HAL3: Add vendor tags for BSG
6b86cc3c8 QCamera2: HAL3: Add vendor tags to query controls
c4c5b498f QCamera2: HAL3: Set up necessary flags for ISO priority
ff14a125f QCamera2: HAL3: Add support for Auto HDR metadata
de69eb123 QCamera2: add overrides to force FOVC camera switch
330d3cd76 Merge "QCamera2: test: Add support BinningCorrection mode." into camera.lnx.1.0-dev.1.0
8294cc0c7 Merge "QCamera2: HAL: Add Binning Correction Mode in HAL3" into camera.lnx.1.0-dev.1.0
bf675b25f Merge "QCamera2: HAL :Fix KW error due to Array out of bounds exception" into camera.lnx.1.0-dev.1.0
8d63f9d8a Promotion of camera.lnx.1.0-00175.
38ef4d6af QCamera2: Changes to open camera only once in Qcamera app
52e6953cb QCamera2: HAL: Add Binning Correction Mode in HAL3
862d9df0d Merge 77bb88cf14e316639a6a67d387f98db087e38cf8 on remote branch
8ed942e01 Merge "QCamera2: FOV-control: Update the code to handle unbundled meta stream cb" into camera.lnx.1.0-dev.1.0
5eb565150 Merge "QCamera2: Dual camera: Add HAL settings for hw-sync and LPM modes" into camera.lnx.1.0-dev.1.0
8d80022fd Merge "QCamera2: Dual camera: Disable metadata bundling" into camera.lnx.1.0-dev.1.0
08ab704a1 Merge "QCamera2: FOV-control: Fix transition camera state related bug" into camera.lnx.1.0-dev.1.0
c1d197f91 Merge "QCamera2: Dual camera: Remove dual zone check for master switch" into camera.lnx.1.0-dev.1.0
19555a78d Merge "QCamera2: Send frame margins in metadata" into camera.lnx.1.0-dev.1.0
a62415ae3 Merge "QCamera2: HAL: Add featue mask for SAC and RTBDM" into camera.lnx.1.0-dev.1.0
a0e852251 QCamera2: HAL1: Checking capabilities for HW rotation.
ce737c22d QCamera2: HAL3: Add JPEG debug data
3f480e13a QCamera2: HAL :Fix KW error due to Array out of bounds exception
f55a19655 QCamera2: test: Add support BinningCorrection mode.
21aec97f1 Merge "QCamera2:HAL: Removing 20 second redundancy." into camera.lnx.1.0-dev.1.0
aa7495648 Merge "QCamera2: HAL3: Perf lock for offline reprocessing" into camera.lnx.1.0-dev.1.0
95f5e3278 Merge "QCamera2:test: Bug Fix for Auto Flicker test case" into camera.lnx.1.0-dev.1.0
0ff0fd551 Merge "QCamera2:test: Added Flip Mode test feature in mm-qcamera-app" into camera.lnx.1.0-dev.1.0
40e1f3f76 Merge "QCamera2: DualFOVPP: Fix KW warnings" into camera.lnx.1.0-dev.1.0
e1e939768 QCamera2: DualFOVPP: Fix KW warnings
3e4f1a971 QCamera2: FOV-control: Fix transition camera state related bug
e29680a49 QCamera2: FOV-control: Fix KW warnings
63d5c46f7 QCamera2: Dual camera: Add HAL settings for hw-sync and LPM modes
5d0beb818 QCamera2: Dual camera: Disable metadata bundling
d6de59642 QCamera2: FOV-control: Update the code to handle unbundled meta stream cb
40f0e6100 QCamera2: Dual camera: Remove dual zone check for master switch
ae00beb80 QCamera2: Send frame margins in metadata
b497b3427 QCamera2: HAL: Add featue mask for SAC and RTBDM
77bb88cf1 Promotion of camera.lnx.1.0-00171.
ced7f564c Merge "QCamera2: HAL1: Avoid CPP CROP in HAL post processing mode" into camera.lnx.1.0-dev.1.0
b2ae39038 Merge "QCamera2: HAL1: Add HAL PP blending block" into camera.lnx.1.0-dev.1.0
6f14e5037 Merge "QCamera2: FOV-control: Fix AF and metering ROI translation" into camera.lnx.1.0-dev.1.0
c3466edd7 Merge "QCamera2: HAL3: Added logs for KPI measurements" into camera.lnx.1.0-dev.1.0
c22cb5e85 Merge "QCamera2: Change the SAC shift data type to accommodate negative shifts" into camera.lnx.1.0-dev.1.0
fb0e7e7ca Merge "QCamera2: Remove redundant helper functions" into camera.lnx.1.0-dev.1.0
92bd522c4 Merge "QCamera2: FOV-control: Send the user zoom as parameter" into camera.lnx.1.0-dev.1.0
b2d6ceea4 Merge "QCamera2: Dual camera: Modify the metadata field to hold user zoom value" into camera.lnx.1.0-dev.1.0
029fd8ad6 Merge "QCamera2: FOV-control: Consolidate AF status for result metadata" into camera.lnx.1.0-dev.1.0
25d670416 Merge "QCamera2: FOV-control: Read the sensor parameters" into camera.lnx.1.0-dev.1.0
10324a4ee Merge "QCamera2:HAL: KW fixes in HAL" into camera.lnx.1.0-dev.1.0
634e45791 Merge "QCamera2: HAL3: IR default meta settings removed." into camera.lnx.1.0-dev.1.0
398a628c3 Merge "Promotion of camera.lnx.1.0-00168."
775f8d30e HAL: Rename msmfalcon to sdm660
383308e02 msm: Rename msmfalcon to sdm660
1ec3e0112 Promotion of camera.lnx.1.0-00168.
b897cc48c QCamera2: FOV-control: Fix AF and metering ROI translation
7552c488e Merge "QCamera2: Enable sensor HDR support in HAL3." into camera.lnx.1.0-dev.1.0
23deda1fc Merge "QCamera2: Add a metadata field to send the default ROI to HAL" into camera.lnx.1.0-dev.1.0
4114160d9 Merge "QCamera2: Add subsampling info in reprocess param." into camera.lnx.1.0-dev.1.0
ec017876b Merge "QCamera2: HAL1: Trigger snapshot based on FOV control PostProcess result" into camera.lnx.1.0-dev.1.0
22e97be24 Merge "QCamera2: Bug Fix's in DC use cases" into camera.lnx.1.0-dev.1.0
76d483e95 QCamera2: HAL3: Added logs for KPI measurements
b5b8809da QCamera2: HAL1: Avoid CPP CROP in HAL post processing mode
b689f30f1 Promotion of camera.lnx.1.0-00167.
31008ef11 QCamera2: HAL1: Add HAL PP blending block
774df4669 QCamera2: HAL1: Trigger snapshot based on FOV control PostProcess result
a6c5bd88d QCamera2: Remove redundant helper functions
224e2eb63 QCamera2: Change the SAC shift data type to accommodate negative shifts
ebb4b846d QCamera2: FOV-control: Send the user zoom as parameter
823816ada QCamera2: Dual camera: Modify the metadata field to hold user zoom value
09176b5da QCamera2: FOV-control: Consolidate AF status for result metadata
bf597a2d2 QCamera2: FOV-control: Read the sensor parameters
beb35b671 Merge "QCamera2: Add CAM_QTI_FEATURE_FIXED_FOVC feature mask" into camera.lnx.1.0-dev.1.0
31445270a QCamera2: HAL3: Perf lock for offline reprocessing
575f836b0 Merge "QCamera2:HAL1: Assigning NULL to deleted pointer." into camera.lnx.1.0-dev.1.0
afd574b4e Merge "QCamera2: HAL1: Dual-camera: Parameter synchronization" into camera.lnx.1.0-dev.1.0
8dd14fd9e Merge "QCamera2/HAL3: Add a debug setprop for tnr, cac, tintless" into camera.lnx.1.0-dev.1.0
1627dd2b0 QCamera2:HAL: KW fixes in HAL
e6513c31c QCamera2: HAL1: Dual-camera: Parameter synchronization
f43ef9c62 QCamera2: Bug Fix's in DC use cases
7c311eaef QCamera2: HAL3: IR default meta settings removed.
828730528 QCamera2: Add subsampling info in reprocess param.
cb35a7d48 QCamera2: Enable sensor HDR support in HAL3.
9edd85288 Merge "QCamera2: Dual camera: Add metadata to hold zoom value for second camera" into camera.lnx.1.0-dev.1.0
3d42b3e67 Merge "QCamera2: FOV-control: Process FOVC result when zoom changes" into camera.lnx.1.0-dev.1.0
6ffae3103 Merge "QCamera2: FOV-control: Update state machine" into camera.lnx.1.0-dev.1.0
b8c21263a Merge "QCamera2: Add metadata for Spatial Alignment output - recommended frame" into camera.lnx.1.0-dev.1.0
7ad2f4cb7 Merge "QCamera2: Update metadata for spatial alignment compute output" into camera.lnx.1.0-dev.1.0
ee4ad539b Merge "QCamera2: HAL3: Fix incorrect vendor tag enum" into camera.lnx.1.0-dev.1.0
ff65d12c4 Merge "QCamera2: HAL3: Advertise Red-Eye reduction AE mode" into camera.lnx.1.0-dev.1.0
d1de75a11 Merge "QCamera2:HAL3: Move histogram stats to vendor tag section." into camera.lnx.1.0-dev.1.0
120db168f Merge "QCamera2:HAL3: Add vendor tag for edge mode strength." into camera.lnx.1.0-dev.1.0
a6e6be0c7 Merge "QCamera2: HAL3: double free issue fix during snapshot in HFR mode" into camera.lnx.1.0-dev.1.0
100022893 QCamera2:HAL: Removing 20 second redundancy.
9730f9db2 Promotion of camera.lnx.1.0-00164.
73bc1d37e QCamera2: Add a metadata field to send the default ROI to HAL
4e3e11ec1 Merge "QCamera2:HAL1.0: Update stats interface for master and aux." into camera.lnx.1.0-dev.1.0
e6a2188a7 Merge "QCamera2: Add 3rd party OTP support for dual-cam calibration" into camera.lnx.1.0-dev.1.0
eb625c626 Merge "QCamera2: HAL3: Use List object to hold timeout indexes" into camera.lnx.1.0-dev.1.0
533261898 QCamera2:test: Bug Fix for Auto Flicker test case
e406b1a00 QCamera2:HAL1: Assigning NULL to deleted pointer.
3a77d2130 QCamera2: Dual camera: Add metadata to hold zoom value for second camera
bfe35db3b QCamera2:test: Added Flip Mode test feature in mm-qcamera-app
0a82428f4 QCamera2: HAL3: double free issue fix during snapshot in HFR mode
467440221 QCamera2: FOV-control: Process FOVC result when zoom changes
92ac5b461 QCamera2: FOV-control: Update state machine
1dbc81dda QCamera2: Add CAM_QTI_FEATURE_FIXED_FOVC feature mask
e73973dc6 QCamera2: Add metadata for Spatial Alignment output - recommended frame
21dfa9cc0 QCamera2: Update metadata for spatial alignment compute output
bd9db9d7c QCamera2: HAL3: Fix incorrect vendor tag enum
710135f15 QCamera2: HAL3: Advertise Red-Eye reduction AE mode
cb4adff10 QCamera2:HAL3: Move histogram stats to vendor tag section.
e8d20fac2 QCamera2:HAL3: Add vendor tag for edge mode strength.
39c6c3fe8 QCamera2: HAL3: Use List object to hold timeout indexes
184c4739f QCamera2:HAL1.0: Update stats interface for master and aux.
66241e9d1 QCamera2: Add 3rd party OTP support for dual-cam calibration
4da5ae13e QCamera2/HAL3: Add a debug setprop for tnr, cac, tintless

Conflicts:
msm8998/QCamera2/HAL/QCameraParameters.cpp
msm8998/QCamera2/HAL3/QCamera3HWI.cpp
msm8998/QCamera2/HAL3/QCamera3HWI.h
msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
msm8998/QCamera2/HAL3/QCamera3VendorTags.h
msm8998/QCamera2/stack/common/cam_intf.h
msm8998/QCamera2/stack/common/cam_types.h

Bug: 34911851
Signed-off-by: Thierry Strudel <tstrudel@google.com>
Change-Id: I8d93ef8fc00c5f38366215e42ccf9b610592abed
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp
4bea843ea3a0855a5ef448df04676954de5d5b76 13-Dec-2016 Thierry Strudel <tstrudel@google.com> msm8998: rename msmcobalt to msm8998

Bug: 33556391
Change-Id: I65c2a2f4c4fdd343b6fb98633be6eab533df41fd
/hardware/qcom/camera/msm8998/QCamera2/HAL3/QCamera3Stream.cpp