1 #ifndef __HARDWARE_EXYNOS_THUMBNAIL_SCALER_H__
2 #define __HARDWARE_EXYNOS_THUMBNAIL_SCALER_H__
3 
4 #include <cstddef>
5 
6 class ThumbnailScaler {
7 public:
8     const static unsigned int SCALER_MAX_PLANES = 3;
ThumbnailScaler()9     ThumbnailScaler() { }
~ThumbnailScaler()10     virtual ~ThumbnailScaler() { }
11 
12     virtual bool SetSrcImage(unsigned int width, unsigned int height, unsigned int v4l2_format) = 0;
13     virtual bool SetDstImage(unsigned int width, unsigned int height, unsigned int v4l2_format) = 0;
14 
15     virtual bool RunStream(int srcBuf[SCALER_MAX_PLANES], int srcLen[SCALER_MAX_PLANES], int dstBuf, size_t dstLen) = 0;
16     virtual bool RunStream(char *srcBuf[SCALER_MAX_PLANES], int srcLen[SCALER_MAX_PLANES], int dstBuf, size_t dstLen) = 0;
17 
18     static ThumbnailScaler *createInstance();
19 
available()20     virtual bool available() { return false; }
21 };
22 
23 #endif //__HARDWARE_EXYNOS_THUMBNAIL_SCALER_H__
24