summaryrefslogtreecommitdiff
path: root/libhwjpeg/include/ExynosJpegEncoderForCamera.h
diff options
context:
space:
mode:
authorTreeHugger Robot <android-build-prod@system.gserviceaccount.com>2020-03-01 04:07:02 +0000
committerTreeHugger Robot <android-build-prod@system.gserviceaccount.com>2020-03-01 04:07:02 +0000
commit8b10c41c0d3cb1522ba086d3eed6833f463e87f7 (patch)
treeff8909bafacfe04987c59d307faeff8a480421cc /libhwjpeg/include/ExynosJpegEncoderForCamera.h
parent34f863d5edd990092b10bd8a722753d3c4273117 (diff)
parentda31ab682e4d0915f510e2175d533deaecc6970b (diff)
Snap for 6251003 from da31ab682e4d0915f510e2175d533deaecc6970b to qt-hammersmith-release
Change-Id: I9ad7d6604f321b101609314793a4e464efd6c786
Diffstat (limited to 'libhwjpeg/include/ExynosJpegEncoderForCamera.h')
-rw-r--r--libhwjpeg/include/ExynosJpegEncoderForCamera.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/libhwjpeg/include/ExynosJpegEncoderForCamera.h b/libhwjpeg/include/ExynosJpegEncoderForCamera.h
index 1ec5132..a50d884 100644
--- a/libhwjpeg/include/ExynosJpegEncoderForCamera.h
+++ b/libhwjpeg/include/ExynosJpegEncoderForCamera.h
@@ -18,13 +18,16 @@
#ifndef __HARDWARE_EXYNOS_JPEG_ENCODER_FOR_CAMERA_H__
#define __HARDWARE_EXYNOS_JPEG_ENCODER_FOR_CAMERA_H__
+#include <memory>
+
#include <pthread.h>
-#include "ExynosExif.h"
+#include <ExynosExif.h>
#include "ExynosJpegApi.h"
-#include "LibScalerForJpeg.h"
+#include <hardware/exynos/ExynosExif.h>
class CAppMarkerWriter; // defined in libhwjpeg/AppMarkerWriter.h
+class ThumbnailScaler; // defined in libhwjpeg/thumbnail_scaler.h
class ExynosJpegEncoderForCamera: public ExynosJpegEncoder {
enum {
@@ -35,7 +38,7 @@ class ExynosJpegEncoderForCamera: public ExynosJpegEncoder {
};
CHWJpegCompressor *m_phwjpeg4thumb;
- LibScalerForJpeg m_pLibScaler;
+ std::unique_ptr<ThumbnailScaler> mThumbnailScaler;
int m_fdIONClient;
int m_fdIONThumbImgBuffer;
char *m_pIONThumbImgBuffer;
@@ -69,6 +72,9 @@ class ExynosJpegEncoderForCamera: public ExynosJpegEncoder {
pthread_t m_threadWorker;
+ extra_appinfo_t m_extraInfo;
+ app_info_t m_appInfo[15];
+
bool AllocThumbBuffer(int v4l2Format); /* For single compression */
bool AllocThumbJpegBuffer(); /* For BTB compression */
bool GenerateThumbnailImage();
@@ -76,7 +82,7 @@ class ExynosJpegEncoderForCamera: public ExynosJpegEncoder {
size_t CompressThumbnailOnly(size_t limit, int quality, unsigned int v4l2Format, int src_buftype);
size_t RemoveTrailingDummies(char *base, size_t len);
ssize_t FinishCompression(size_t mainlen, size_t thumblen);
- bool ProcessExif(char *base, size_t limit, exif_attribute_t *exifInfo, debug_attribute_t *debuginfo);
+ bool ProcessExif(char *base, size_t limit, exif_attribute_t *exifInfo, extra_appinfo_t *extra);
static void *tCompressThumbnail(void *p);
bool PrepareCompression(bool thumbnail);
@@ -98,6 +104,7 @@ public:
int encode(int *size, exif_attribute_t *exifInfo, char** pcJpegBuffer, debug_attribute_t *debugInfo = 0);
int encode(int *size, exif_attribute_t *exifInfo, int fdJpegBuffer, char** pcJpegBuffer, debug_attribute_t *debugInfo = 0);
+ int encode(int *size, exif_attribute_t *exifInfo, int fdJpegBuffer, char** pcJpegBuffer, extra_appinfo_t *appInfo = 0);
int setInBuf2(int *piBuf, int *iSize);
int setInBuf2(char **pcBuf, int *iSize);
int setThumbnailSize(int w, int h);