diff options
author | TreeHugger Robot <android-build-prod@system.gserviceaccount.com> | 2020-03-01 04:07:02 +0000 |
---|---|---|
committer | TreeHugger Robot <android-build-prod@system.gserviceaccount.com> | 2020-03-01 04:07:02 +0000 |
commit | 8b10c41c0d3cb1522ba086d3eed6833f463e87f7 (patch) | |
tree | ff8909bafacfe04987c59d307faeff8a480421cc /libhwjpeg/include/ExynosJpegEncoderForCamera.h | |
parent | 34f863d5edd990092b10bd8a722753d3c4273117 (diff) | |
parent | da31ab682e4d0915f510e2175d533deaecc6970b (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.h | 15 |
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); |