HAL3: reduce buffer counts
When EIS3 is enabled, further optimize below buffer counts:
* For 4K video buffer count 30-->18
* For other video buffer count: 30-->24
Also reduce the BLOB count from 10 to 3.
These reduced the peak pressure by up to 200--300MB.
Bug: 62331291
Change-Id: I95cf8fede3a73f50ba737d34bcc0e52260f0b794
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 548a631..1c2d84f 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2619,8 +2619,12 @@
int bufferCount = MAX_INFLIGHT_REQUESTS;
if (mStreamConfigInfo.type[mStreamConfigInfo.num_streams] ==
CAM_STREAM_TYPE_VIDEO) {
- if (m_bEis3PropertyEnabled /* hint for EIS 3 needed here */)
- bufferCount = MAX_VIDEO_BUFFERS;
+ if (m_bEis3PropertyEnabled /* hint for EIS 3 needed here */) {
+ // WAR: 4K video can only run <=30fps, reduce the buffer count.
+ bufferCount = m_bIs4KVideo ?
+ MAX_30FPS_VIDEO_BUFFERS : MAX_VIDEO_BUFFERS;
+ }
+
}
channel = new QCamera3RegularChannel(mCameraHandle->camera_handle,
mChannelHandle, mCameraHandle->ops, captureResultCb,