Loading libs/jpegrecoverymap/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ cc_library { export_include_dirs: ["include"], srcs: [ "jpegencoder.cpp", "jpegencoderhelper.cpp", ], } Loading @@ -73,6 +73,6 @@ cc_library { export_include_dirs: ["include"], srcs: [ "jpegdecoder.cpp", "jpegdecoderhelper.cpp", ], } libs/jpegrecoverymap/include/jpegrecoverymap/jpegdecoder.h→libs/jpegrecoverymap/include/jpegrecoverymap/jpegdecoderhelper.h +6 −7 Original line number Diff line number Diff line /* * Copyright 2022 The Android Open Source Project * Loading @@ -15,8 +14,8 @@ * limitations under the License. */ #ifndef ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #define ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #ifndef ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H #define ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H // We must include cstdio before jpeglib.h. It is a requirement of libjpeg. #include <cstdio> Loading @@ -31,10 +30,10 @@ namespace android::recoverymap { * Encapsulates a converter from JPEG to raw image (YUV420planer or grey-scale) format. * This class is not thread-safe. */ class JpegDecoder { class JpegDecoderHelper { public: JpegDecoder(); ~JpegDecoder(); JpegDecoderHelper(); ~JpegDecoderHelper(); /* * Decompresses JPEG image to raw image (YUV420planer, grey-scale or RGBA) format. After * calling this method, call getDecompressedImage() to get the image. Loading Loading @@ -118,4 +117,4 @@ private: }; } /* namespace android */ #endif // ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #endif // ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H libs/jpegrecoverymap/include/jpegrecoverymap/jpegencoder.h→libs/jpegrecoverymap/include/jpegrecoverymap/jpegencoderhelper.h +6 −6 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ * limitations under the License. */ #ifndef ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #define ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #ifndef ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H #define ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H // We must include cstdio before jpeglib.h. It is a requirement of libjpeg. #include <cstdio> Loading @@ -34,10 +34,10 @@ namespace android::recoverymap { * Encapsulates a converter from raw image (YUV420planer or grey-scale) to JPEG format. * This class is not thread-safe. */ class JpegEncoder { class JpegEncoderHelper { public: JpegEncoder(); ~JpegEncoder(); JpegEncoderHelper(); ~JpegEncoderHelper(); /* * Compresses YUV420Planer image to JPEG format. After calling this method, call Loading Loading @@ -92,4 +92,4 @@ private: } /* namespace android */ #endif // ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #endif // ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H libs/jpegrecoverymap/jpegdecoder.cpp→libs/jpegrecoverymap/jpegdecoderhelper.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #include <jpegrecoverymap/jpegdecoder.h> #include <jpegrecoverymap/jpegdecoderhelper.h> #include <utils/Log.h> Loading Loading @@ -90,14 +90,14 @@ static void jpegrerror_exit(j_common_ptr cinfo) { longjmp(err->setjmp_buffer, 1); } JpegDecoder::JpegDecoder() { JpegDecoderHelper::JpegDecoderHelper() { mExifPos = 0; } JpegDecoder::~JpegDecoder() { JpegDecoderHelper::~JpegDecoderHelper() { } bool JpegDecoder::decompressImage(const void* image, int length, bool decodeToRGBA) { bool JpegDecoderHelper::decompressImage(const void* image, int length, bool decodeToRGBA) { if (image == nullptr || length <= 0) { ALOGE("Image size can not be handled: %d", length); return false; Loading @@ -112,39 +112,39 @@ bool JpegDecoder::decompressImage(const void* image, int length, bool decodeToRG return true; } void* JpegDecoder::getDecompressedImagePtr() { void* JpegDecoderHelper::getDecompressedImagePtr() { return mResultBuffer.data(); } size_t JpegDecoder::getDecompressedImageSize() { size_t JpegDecoderHelper::getDecompressedImageSize() { return mResultBuffer.size(); } void* JpegDecoder::getXMPPtr() { void* JpegDecoderHelper::getXMPPtr() { return mXMPBuffer.data(); } size_t JpegDecoder::getXMPSize() { size_t JpegDecoderHelper::getXMPSize() { return mXMPBuffer.size(); } void* JpegDecoder::getEXIFPtr() { void* JpegDecoderHelper::getEXIFPtr() { return mEXIFBuffer.data(); } size_t JpegDecoder::getEXIFSize() { size_t JpegDecoderHelper::getEXIFSize() { return mEXIFBuffer.size(); } size_t JpegDecoder::getDecompressedImageWidth() { size_t JpegDecoderHelper::getDecompressedImageWidth() { return mWidth; } size_t JpegDecoder::getDecompressedImageHeight() { size_t JpegDecoderHelper::getDecompressedImageHeight() { return mHeight; } bool JpegDecoder::decode(const void* image, int length, bool decodeToRGBA) { bool JpegDecoderHelper::decode(const void* image, int length, bool decodeToRGBA) { jpeg_decompress_struct cinfo; jpegr_source_mgr mgr(static_cast<const uint8_t*>(image), length); jpegrerror_mgr myerr; Loading Loading @@ -248,7 +248,7 @@ bool JpegDecoder::decode(const void* image, int length, bool decodeToRGBA) { return true; } bool JpegDecoder::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, bool JpegDecoderHelper::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, bool isSingleChannel) { if (isSingleChannel) { return decompressSingleChannel(cinfo, dest); Loading @@ -259,7 +259,7 @@ bool JpegDecoder::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, return decompressYUV(cinfo, dest); } bool JpegDecoder::getCompressedImageParameters(const void* image, int length, bool JpegDecoderHelper::getCompressedImageParameters(const void* image, int length, size_t *pWidth, size_t *pHeight, std::vector<uint8_t> *iccData , std::vector<uint8_t> *exifData) { jpeg_decompress_struct cinfo; Loading Loading @@ -326,7 +326,7 @@ bool JpegDecoder::getCompressedImageParameters(const void* image, int length, return true; } bool JpegDecoder::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPLE* decodeDst = (JSAMPLE*) dest; uint32_t lines = 0; // TODO: use batches for more effectiveness Loading @@ -341,7 +341,7 @@ bool JpegDecoder::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* d return lines == cinfo->image_height; } bool JpegDecoder::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPROW y[kCompressBatchSize]; JSAMPROW cb[kCompressBatchSize / 2]; Loading Loading @@ -386,7 +386,7 @@ bool JpegDecoder::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* de return true; } bool JpegDecoder::decompressSingleChannel(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressSingleChannel(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPROW y[kCompressBatchSize]; JSAMPARRAY planes[1] {y}; Loading libs/jpegrecoverymap/jpegencoder.cpp→libs/jpegrecoverymap/jpegencoderhelper.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #include <jpegrecoverymap/jpegencoder.h> #include <jpegrecoverymap/jpegencoderhelper.h> #include <utils/Log.h> Loading @@ -22,20 +22,20 @@ namespace android::recoverymap { // The destination manager that can access |mResultBuffer| in JpegEncoder. // The destination manager that can access |mResultBuffer| in JpegEncoderHelper. struct destination_mgr { public: struct jpeg_destination_mgr mgr; JpegEncoder* encoder; JpegEncoderHelper* encoder; }; JpegEncoder::JpegEncoder() { JpegEncoderHelper::JpegEncoderHelper() { } JpegEncoder::~JpegEncoder() { JpegEncoderHelper::~JpegEncoderHelper() { } bool JpegEncoder::compressImage(const void* image, int width, int height, int quality, bool JpegEncoderHelper::compressImage(const void* image, int width, int height, int quality, const void* iccBuffer, unsigned int iccSize, bool isSingleChannel) { if (width % 8 != 0 || height % 2 != 0) { Loading @@ -52,15 +52,15 @@ bool JpegEncoder::compressImage(const void* image, int width, int height, int qu return true; } void* JpegEncoder::getCompressedImagePtr() { void* JpegEncoderHelper::getCompressedImagePtr() { return mResultBuffer.data(); } size_t JpegEncoder::getCompressedImageSize() { size_t JpegEncoderHelper::getCompressedImageSize() { return mResultBuffer.size(); } void JpegEncoder::initDestination(j_compress_ptr cinfo) { void JpegEncoderHelper::initDestination(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; buffer.resize(kBlockSize); Loading @@ -68,7 +68,7 @@ void JpegEncoder::initDestination(j_compress_ptr cinfo) { dest->mgr.free_in_buffer = buffer.size(); } boolean JpegEncoder::emptyOutputBuffer(j_compress_ptr cinfo) { boolean JpegEncoderHelper::emptyOutputBuffer(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; size_t oldsize = buffer.size(); Loading @@ -78,13 +78,13 @@ boolean JpegEncoder::emptyOutputBuffer(j_compress_ptr cinfo) { return true; } void JpegEncoder::terminateDestination(j_compress_ptr cinfo) { void JpegEncoderHelper::terminateDestination(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; buffer.resize(buffer.size() - dest->mgr.free_in_buffer); } void JpegEncoder::outputErrorMessage(j_common_ptr cinfo) { void JpegEncoderHelper::outputErrorMessage(j_common_ptr cinfo) { char buffer[JMSG_LENGTH_MAX]; /* Create the message */ Loading @@ -92,7 +92,7 @@ void JpegEncoder::outputErrorMessage(j_common_ptr cinfo) { ALOGE("%s\n", buffer); } bool JpegEncoder::encode(const void* image, int width, int height, int jpegQuality, bool JpegEncoderHelper::encode(const void* image, int width, int height, int jpegQuality, const void* iccBuffer, unsigned int iccSize, bool isSingleChannel) { jpeg_compress_struct cinfo; jpeg_error_mgr jerr; Loading @@ -118,7 +118,7 @@ bool JpegEncoder::encode(const void* image, int width, int height, int jpegQuali return true; } void JpegEncoder::setJpegDestination(jpeg_compress_struct* cinfo) { void JpegEncoderHelper::setJpegDestination(jpeg_compress_struct* cinfo) { destination_mgr* dest = static_cast<struct destination_mgr *>((*cinfo->mem->alloc_small) ( (j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof(destination_mgr))); dest->encoder = this; Loading @@ -128,7 +128,7 @@ void JpegEncoder::setJpegDestination(jpeg_compress_struct* cinfo) { cinfo->dest = reinterpret_cast<struct jpeg_destination_mgr*>(dest); } void JpegEncoder::setJpegCompressStruct(int width, int height, int quality, void JpegEncoderHelper::setJpegCompressStruct(int width, int height, int quality, jpeg_compress_struct* cinfo, bool isSingleChannel) { cinfo->image_width = width; cinfo->image_height = height; Loading Loading @@ -158,7 +158,7 @@ void JpegEncoder::setJpegCompressStruct(int width, int height, int quality, } } bool JpegEncoder::compress( bool JpegEncoderHelper::compress( jpeg_compress_struct* cinfo, const uint8_t* image, bool isSingleChannel) { if (isSingleChannel) { return compressSingleChannel(cinfo, image); Loading @@ -166,7 +166,7 @@ bool JpegEncoder::compress( return compressYuv(cinfo, image); } bool JpegEncoder::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { bool JpegEncoderHelper::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { JSAMPROW y[kCompressBatchSize]; JSAMPROW cb[kCompressBatchSize / 2]; JSAMPROW cr[kCompressBatchSize / 2]; Loading Loading @@ -210,7 +210,7 @@ bool JpegEncoder::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { return true; } bool JpegEncoder::compressSingleChannel(jpeg_compress_struct* cinfo, const uint8_t* image) { bool JpegEncoderHelper::compressSingleChannel(jpeg_compress_struct* cinfo, const uint8_t* image) { JSAMPROW y[kCompressBatchSize]; JSAMPARRAY planes[1] {y}; Loading Loading
libs/jpegrecoverymap/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ cc_library { export_include_dirs: ["include"], srcs: [ "jpegencoder.cpp", "jpegencoderhelper.cpp", ], } Loading @@ -73,6 +73,6 @@ cc_library { export_include_dirs: ["include"], srcs: [ "jpegdecoder.cpp", "jpegdecoderhelper.cpp", ], }
libs/jpegrecoverymap/include/jpegrecoverymap/jpegdecoder.h→libs/jpegrecoverymap/include/jpegrecoverymap/jpegdecoderhelper.h +6 −7 Original line number Diff line number Diff line /* * Copyright 2022 The Android Open Source Project * Loading @@ -15,8 +14,8 @@ * limitations under the License. */ #ifndef ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #define ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #ifndef ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H #define ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H // We must include cstdio before jpeglib.h. It is a requirement of libjpeg. #include <cstdio> Loading @@ -31,10 +30,10 @@ namespace android::recoverymap { * Encapsulates a converter from JPEG to raw image (YUV420planer or grey-scale) format. * This class is not thread-safe. */ class JpegDecoder { class JpegDecoderHelper { public: JpegDecoder(); ~JpegDecoder(); JpegDecoderHelper(); ~JpegDecoderHelper(); /* * Decompresses JPEG image to raw image (YUV420planer, grey-scale or RGBA) format. After * calling this method, call getDecompressedImage() to get the image. Loading Loading @@ -118,4 +117,4 @@ private: }; } /* namespace android */ #endif // ANDROID_JPEGRECOVERYMAP_JPEGDECODER_H #endif // ANDROID_JPEGRECOVERYMAP_JPEGDECODERHELPER_H
libs/jpegrecoverymap/include/jpegrecoverymap/jpegencoder.h→libs/jpegrecoverymap/include/jpegrecoverymap/jpegencoderhelper.h +6 −6 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ * limitations under the License. */ #ifndef ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #define ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #ifndef ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H #define ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H // We must include cstdio before jpeglib.h. It is a requirement of libjpeg. #include <cstdio> Loading @@ -34,10 +34,10 @@ namespace android::recoverymap { * Encapsulates a converter from raw image (YUV420planer or grey-scale) to JPEG format. * This class is not thread-safe. */ class JpegEncoder { class JpegEncoderHelper { public: JpegEncoder(); ~JpegEncoder(); JpegEncoderHelper(); ~JpegEncoderHelper(); /* * Compresses YUV420Planer image to JPEG format. After calling this method, call Loading Loading @@ -92,4 +92,4 @@ private: } /* namespace android */ #endif // ANDROID_JPEGRECOVERYMAP_JPEGENCODER_H #endif // ANDROID_JPEGRECOVERYMAP_JPEGENCODERHELPER_H
libs/jpegrecoverymap/jpegdecoder.cpp→libs/jpegrecoverymap/jpegdecoderhelper.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #include <jpegrecoverymap/jpegdecoder.h> #include <jpegrecoverymap/jpegdecoderhelper.h> #include <utils/Log.h> Loading Loading @@ -90,14 +90,14 @@ static void jpegrerror_exit(j_common_ptr cinfo) { longjmp(err->setjmp_buffer, 1); } JpegDecoder::JpegDecoder() { JpegDecoderHelper::JpegDecoderHelper() { mExifPos = 0; } JpegDecoder::~JpegDecoder() { JpegDecoderHelper::~JpegDecoderHelper() { } bool JpegDecoder::decompressImage(const void* image, int length, bool decodeToRGBA) { bool JpegDecoderHelper::decompressImage(const void* image, int length, bool decodeToRGBA) { if (image == nullptr || length <= 0) { ALOGE("Image size can not be handled: %d", length); return false; Loading @@ -112,39 +112,39 @@ bool JpegDecoder::decompressImage(const void* image, int length, bool decodeToRG return true; } void* JpegDecoder::getDecompressedImagePtr() { void* JpegDecoderHelper::getDecompressedImagePtr() { return mResultBuffer.data(); } size_t JpegDecoder::getDecompressedImageSize() { size_t JpegDecoderHelper::getDecompressedImageSize() { return mResultBuffer.size(); } void* JpegDecoder::getXMPPtr() { void* JpegDecoderHelper::getXMPPtr() { return mXMPBuffer.data(); } size_t JpegDecoder::getXMPSize() { size_t JpegDecoderHelper::getXMPSize() { return mXMPBuffer.size(); } void* JpegDecoder::getEXIFPtr() { void* JpegDecoderHelper::getEXIFPtr() { return mEXIFBuffer.data(); } size_t JpegDecoder::getEXIFSize() { size_t JpegDecoderHelper::getEXIFSize() { return mEXIFBuffer.size(); } size_t JpegDecoder::getDecompressedImageWidth() { size_t JpegDecoderHelper::getDecompressedImageWidth() { return mWidth; } size_t JpegDecoder::getDecompressedImageHeight() { size_t JpegDecoderHelper::getDecompressedImageHeight() { return mHeight; } bool JpegDecoder::decode(const void* image, int length, bool decodeToRGBA) { bool JpegDecoderHelper::decode(const void* image, int length, bool decodeToRGBA) { jpeg_decompress_struct cinfo; jpegr_source_mgr mgr(static_cast<const uint8_t*>(image), length); jpegrerror_mgr myerr; Loading Loading @@ -248,7 +248,7 @@ bool JpegDecoder::decode(const void* image, int length, bool decodeToRGBA) { return true; } bool JpegDecoder::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, bool JpegDecoderHelper::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, bool isSingleChannel) { if (isSingleChannel) { return decompressSingleChannel(cinfo, dest); Loading @@ -259,7 +259,7 @@ bool JpegDecoder::decompress(jpeg_decompress_struct* cinfo, const uint8_t* dest, return decompressYUV(cinfo, dest); } bool JpegDecoder::getCompressedImageParameters(const void* image, int length, bool JpegDecoderHelper::getCompressedImageParameters(const void* image, int length, size_t *pWidth, size_t *pHeight, std::vector<uint8_t> *iccData , std::vector<uint8_t> *exifData) { jpeg_decompress_struct cinfo; Loading Loading @@ -326,7 +326,7 @@ bool JpegDecoder::getCompressedImageParameters(const void* image, int length, return true; } bool JpegDecoder::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPLE* decodeDst = (JSAMPLE*) dest; uint32_t lines = 0; // TODO: use batches for more effectiveness Loading @@ -341,7 +341,7 @@ bool JpegDecoder::decompressRGBA(jpeg_decompress_struct* cinfo, const uint8_t* d return lines == cinfo->image_height; } bool JpegDecoder::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPROW y[kCompressBatchSize]; JSAMPROW cb[kCompressBatchSize / 2]; Loading Loading @@ -386,7 +386,7 @@ bool JpegDecoder::decompressYUV(jpeg_decompress_struct* cinfo, const uint8_t* de return true; } bool JpegDecoder::decompressSingleChannel(jpeg_decompress_struct* cinfo, const uint8_t* dest) { bool JpegDecoderHelper::decompressSingleChannel(jpeg_decompress_struct* cinfo, const uint8_t* dest) { JSAMPROW y[kCompressBatchSize]; JSAMPARRAY planes[1] {y}; Loading
libs/jpegrecoverymap/jpegencoder.cpp→libs/jpegrecoverymap/jpegencoderhelper.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #include <jpegrecoverymap/jpegencoder.h> #include <jpegrecoverymap/jpegencoderhelper.h> #include <utils/Log.h> Loading @@ -22,20 +22,20 @@ namespace android::recoverymap { // The destination manager that can access |mResultBuffer| in JpegEncoder. // The destination manager that can access |mResultBuffer| in JpegEncoderHelper. struct destination_mgr { public: struct jpeg_destination_mgr mgr; JpegEncoder* encoder; JpegEncoderHelper* encoder; }; JpegEncoder::JpegEncoder() { JpegEncoderHelper::JpegEncoderHelper() { } JpegEncoder::~JpegEncoder() { JpegEncoderHelper::~JpegEncoderHelper() { } bool JpegEncoder::compressImage(const void* image, int width, int height, int quality, bool JpegEncoderHelper::compressImage(const void* image, int width, int height, int quality, const void* iccBuffer, unsigned int iccSize, bool isSingleChannel) { if (width % 8 != 0 || height % 2 != 0) { Loading @@ -52,15 +52,15 @@ bool JpegEncoder::compressImage(const void* image, int width, int height, int qu return true; } void* JpegEncoder::getCompressedImagePtr() { void* JpegEncoderHelper::getCompressedImagePtr() { return mResultBuffer.data(); } size_t JpegEncoder::getCompressedImageSize() { size_t JpegEncoderHelper::getCompressedImageSize() { return mResultBuffer.size(); } void JpegEncoder::initDestination(j_compress_ptr cinfo) { void JpegEncoderHelper::initDestination(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; buffer.resize(kBlockSize); Loading @@ -68,7 +68,7 @@ void JpegEncoder::initDestination(j_compress_ptr cinfo) { dest->mgr.free_in_buffer = buffer.size(); } boolean JpegEncoder::emptyOutputBuffer(j_compress_ptr cinfo) { boolean JpegEncoderHelper::emptyOutputBuffer(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; size_t oldsize = buffer.size(); Loading @@ -78,13 +78,13 @@ boolean JpegEncoder::emptyOutputBuffer(j_compress_ptr cinfo) { return true; } void JpegEncoder::terminateDestination(j_compress_ptr cinfo) { void JpegEncoderHelper::terminateDestination(j_compress_ptr cinfo) { destination_mgr* dest = reinterpret_cast<destination_mgr*>(cinfo->dest); std::vector<JOCTET>& buffer = dest->encoder->mResultBuffer; buffer.resize(buffer.size() - dest->mgr.free_in_buffer); } void JpegEncoder::outputErrorMessage(j_common_ptr cinfo) { void JpegEncoderHelper::outputErrorMessage(j_common_ptr cinfo) { char buffer[JMSG_LENGTH_MAX]; /* Create the message */ Loading @@ -92,7 +92,7 @@ void JpegEncoder::outputErrorMessage(j_common_ptr cinfo) { ALOGE("%s\n", buffer); } bool JpegEncoder::encode(const void* image, int width, int height, int jpegQuality, bool JpegEncoderHelper::encode(const void* image, int width, int height, int jpegQuality, const void* iccBuffer, unsigned int iccSize, bool isSingleChannel) { jpeg_compress_struct cinfo; jpeg_error_mgr jerr; Loading @@ -118,7 +118,7 @@ bool JpegEncoder::encode(const void* image, int width, int height, int jpegQuali return true; } void JpegEncoder::setJpegDestination(jpeg_compress_struct* cinfo) { void JpegEncoderHelper::setJpegDestination(jpeg_compress_struct* cinfo) { destination_mgr* dest = static_cast<struct destination_mgr *>((*cinfo->mem->alloc_small) ( (j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof(destination_mgr))); dest->encoder = this; Loading @@ -128,7 +128,7 @@ void JpegEncoder::setJpegDestination(jpeg_compress_struct* cinfo) { cinfo->dest = reinterpret_cast<struct jpeg_destination_mgr*>(dest); } void JpegEncoder::setJpegCompressStruct(int width, int height, int quality, void JpegEncoderHelper::setJpegCompressStruct(int width, int height, int quality, jpeg_compress_struct* cinfo, bool isSingleChannel) { cinfo->image_width = width; cinfo->image_height = height; Loading Loading @@ -158,7 +158,7 @@ void JpegEncoder::setJpegCompressStruct(int width, int height, int quality, } } bool JpegEncoder::compress( bool JpegEncoderHelper::compress( jpeg_compress_struct* cinfo, const uint8_t* image, bool isSingleChannel) { if (isSingleChannel) { return compressSingleChannel(cinfo, image); Loading @@ -166,7 +166,7 @@ bool JpegEncoder::compress( return compressYuv(cinfo, image); } bool JpegEncoder::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { bool JpegEncoderHelper::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { JSAMPROW y[kCompressBatchSize]; JSAMPROW cb[kCompressBatchSize / 2]; JSAMPROW cr[kCompressBatchSize / 2]; Loading Loading @@ -210,7 +210,7 @@ bool JpegEncoder::compressYuv(jpeg_compress_struct* cinfo, const uint8_t* yuv) { return true; } bool JpegEncoder::compressSingleChannel(jpeg_compress_struct* cinfo, const uint8_t* image) { bool JpegEncoderHelper::compressSingleChannel(jpeg_compress_struct* cinfo, const uint8_t* image) { JSAMPROW y[kCompressBatchSize]; JSAMPARRAY planes[1] {y}; Loading