Merge "QCamera2: Avoid RAW+YUV for preview during video recording"
diff --git a/QCamera2/HAL/QCamera2HWICallbacks.cpp b/QCamera2/HAL/QCamera2HWICallbacks.cpp
index 5acd76e..e590d31 100644
--- a/QCamera2/HAL/QCamera2HWICallbacks.cpp
+++ b/QCamera2/HAL/QCamera2HWICallbacks.cpp
@@ -59,6 +59,7 @@
ALOGD("[KPI Perf] %s: E",__func__);
char value[PROPERTY_VALUE_MAX];
bool dump_raw = false;
+ bool dump_yuv = false;
QCamera2HardwareInterface *pme = (QCamera2HardwareInterface *)userdata;
if (pme == NULL ||
pme->mCameraHandle == NULL ||
@@ -101,6 +102,23 @@
}
//
+ // DUMP YUV before reprocess if needed
+ property_get("persist.camera.zsl_yuv", value, "0");
+ dump_yuv = atoi(value) > 0 ? true : false;
+ if ( dump_yuv ) {
+ for ( int i= 0 ; i < recvd_frame->num_bufs ; i++ ) {
+ if ( recvd_frame->bufs[i]->stream_type == CAM_STREAM_TYPE_SNAPSHOT ) {
+ mm_camera_buf_def_t * yuv_frame = recvd_frame->bufs[i];
+ QCameraStream *pStream = pChannel->getStreamByHandle(yuv_frame->stream_id);
+ if ( NULL != pStream ) {
+ pme->dumpFrameToFile(pStream, yuv_frame, QCAMERA_DUMP_FRM_SNAPSHOT);
+ }
+ break;
+ }
+ }
+ }
+ //
+
// send to postprocessor
pme->m_postprocessor.processData(frame);