#ifndef _VIDEOFRAME_H_ #define _VIDEOFRAME_H_ #include "inmemoryfile.h" // // only contain 48bits each color with 16Bit class VideoFrame { private: protected: void AllocateFrame(); void FreeFrame(); int mem_allocated; unsigned char *mem; int height; int width; public: VideoFrame(); ~VideoFrame(); int GetHeight() { return height; }; int GetWidth() { return width; }; unsigned char *GetPixBuf() { return mem; }; int SetSize(int w, int h); int ConvertToJpeg(InMemoryFile *imf, int quality); int TestScreen(int w, int h); int CopyTo(VideoFrame *dest, int destw, int desth); int CopyFrom(int sw, int sh, int ssize, unsigned char *sdata); }; class VideoFrameFloat { private: protected: void AllocateFrame(); void FreeFrame(); int height; int width; int memf_allocated; float *memf; public: VideoFrameFloat(); ~VideoFrameFloat(); int SetSize(int w, int h); int TestScreen(int w, int h); float *GetPixBuf() { return memf; }; int ConvertToJpeg(InMemoryFile *imf, int quality); int CopyTo(VideoFrame *dest); int CopyTo(VideoFrameFloat *dest); int AddScaledImage(VideoFrameFloat *vf, float f1, float f2); }; #endif