00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_FVUTILS_WRITERS_FVRAW_H_
00025 #define __FIREVISION_FVUTILS_WRITERS_FVRAW_H_
00026
00027 #include <fvutils/writers/writer.h>
00028
00029 namespace firevision {
00030 #if 0
00031 }
00032 #endif
00033
00034 class FvRawWriter : public Writer {
00035
00036 public:
00037 FvRawWriter();
00038 FvRawWriter(const char *filename,
00039 unsigned int width, unsigned int height);
00040 FvRawWriter(const char *filename,
00041 unsigned int width, unsigned int height,
00042 colorspace_t colorspace, unsigned char *buffer);
00043 virtual ~FvRawWriter();
00044
00045 virtual void set_dimensions(unsigned int width, unsigned int height);
00046 virtual void set_buffer(colorspace_t cspace, unsigned char *buffer);
00047 virtual void write();
00048 virtual unsigned char * get_write_buffer();
00049
00050 static const unsigned int FILE_IDENTIFIER;
00051
00052
00053 typedef struct {
00054 unsigned int file_id;
00055 colorspace_t colorspace;
00056 unsigned int width;
00057 unsigned int height;
00058 } FvRawHeader;
00059
00060 private:
00061 FvRawHeader header;
00062 unsigned char *buffer;
00063
00064 };
00065
00066 }
00067
00068 #endif