am 89699cd7: am c06b3290: hardware: samsung_slsi: libcamera2: Use new JPEG transport header in HAL

* commit '89699cd7726a242223424722108b71a58a250d99':
  hardware: samsung_slsi: libcamera2: Use new JPEG transport header in HAL
diff --git a/libcamera2/ExynosCameraHWInterface2.cpp b/libcamera2/ExynosCameraHWInterface2.cpp
index b6b72c2..6ae6072 100644
--- a/libcamera2/ExynosCameraHWInterface2.cpp
+++ b/libcamera2/ExynosCameraHWInterface2.cpp
@@ -4102,6 +4102,8 @@
     ExynosBuffer resizeBufInfo;
     ExynosRect   m_jpegPictureRect;
     buffer_handle_t * buf = NULL;
+    camera2_jpeg_blob * jpegBlob = NULL;
+    int jpegBufSize = 0;
 
     ALOGV("DEBUG(%s): index(%d)",__FUNCTION__, subParms->svcBufIndex);
     for (int i = 0 ; subParms->numSvcBuffers ; i++) {
@@ -4212,11 +4214,23 @@
             (unsigned int)subParms->svcBuffers[subParms->svcBufIndex].size.extS[j],
             (unsigned int)subParms->svcBuffers[subParms->svcBufIndex].virt.extP[j]);
 
-    if (yuv2Jpeg(&m_resizeBuf, &subParms->svcBuffers[subParms->svcBufIndex], &jpegRect) == false)
+    jpegBufSize = subParms->svcBuffers[subParms->svcBufIndex].size.extS[0];
+    if (yuv2Jpeg(&m_resizeBuf, &subParms->svcBuffers[subParms->svcBufIndex], &jpegRect) == false) {
         ALOGE("ERR(%s):yuv2Jpeg() fail", __FUNCTION__);
+    } else {
+        m_resizeBuf = resizeBufInfo;
 
-    m_resizeBuf = resizeBufInfo;
+        int jpegSize = subParms->svcBuffers[subParms->svcBufIndex].size.s;
+        ALOGD("(%s): (%d x %d) jpegbuf size(%d) encoded size(%d)", __FUNCTION__,
+            m_jpegPictureRect.w, m_jpegPictureRect.h, jpegBufSize, jpegSize);
+        char * jpegBuffer = (char*)(subParms->svcBuffers[subParms->svcBufIndex].virt.extP[0]);
+        jpegBlob = (camera2_jpeg_blob*)(&jpegBuffer[jpegBufSize - sizeof(camera2_jpeg_blob)]);
 
+        if (jpegBuffer[jpegSize-1] == 0)
+            jpegSize--;
+        jpegBlob->jpeg_size = jpegSize;
+        jpegBlob->jpeg_blob_id = CAMERA2_JPEG_BLOB_ID;
+    }
     res = subParms->streamOps->enqueue_buffer(subParms->streamOps, frameTimeStamp, &(subParms->svcBufHandle[subParms->svcBufIndex]));
 
     ALOGV("DEBUG(%s): streamthread[%d] enqueue_buffer index(%d) to svc done res(%d)",
@@ -5715,7 +5729,7 @@
     bv = av + tv - sv;
     ev = av + tv;
     //ALOGD("Shutter speed=%d us, iso=%d", shutterSpeed, exifInfo->iso_speed_rating);
-    ALOGD("AV=%d, TV=%d, SV=%d", av, tv, sv);
+    ALOGV("AV=%d, TV=%d, SV=%d", av, tv, sv);
 
     //3 Shutter Speed
     exifInfo->shutter_speed.num = tv * EXIF_DEF_APEX_DEN;