Initial commit

This commit is contained in:
2017-04-28 18:45:26 +02:00
commit 37fe983738
23 changed files with 1319 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
#ifndef INPUTIMAGE_H
#define INPUTIMAGE_H
#include <string>
#include <vector>
#include <jpeglib.h>
class inputImage
{
public:
inputImage();
void setImageData(const std::string& data);
unsigned int width() const;
unsigned int height() const;
unsigned int strideX() const;
unsigned int strideY() const;
const std::vector<char>& data() const;
private:
struct source_mgr
{
struct jpeg_source_mgr pub;
const JOCTET *data;
size_t len;
};
typedef source_mgr* source_mgr_ptr;
private:
static void init_source(j_decompress_ptr pCinfo);
static boolean fill_input_buffer(j_decompress_ptr pCinfo);
static void skip_input_data(j_decompress_ptr pCinfo, long numBytes);
static void term_source(j_decompress_ptr pCinfo);
void setSourceMgr(j_decompress_ptr pCinfo, const char* pData, size_t len) const;
void decompressImage(const char* pData, size_t len);
private:
unsigned int m_width;
unsigned int m_height;
unsigned int m_strideX;
unsigned int m_strideY;
std::vector<char> m_data;
};
#endif // INPUTIMAGE_H