jpeg.h
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_UTILS_READERS_JPEG_H_
00025 #define __FIREVISION_UTILS_READERS_JPEG_H_
00026
00027 #include <fvutils/readers/reader.h>
00028
00029 #include <cstdio>
00030 extern "C" {
00031 #include <jpeglib.h>
00032 }
00033
00034 class JpegReader : public Reader {
00035
00036 public:
00037 JpegReader(const char *filename);
00038 virtual ~JpegReader();
00039
00040 virtual void set_buffer(unsigned char *yuv422planar_buffer);
00041 virtual colorspace_t colorspace();
00042 virtual unsigned int pixel_width();
00043 virtual unsigned int pixel_height();
00044 virtual void read();
00045
00046 private:
00047 bool opened;
00048
00049 unsigned char *buffer;
00050 unsigned char *row_buffer;
00051
00052 FILE *infile;
00053 int row_stride;
00054 struct jpeg_decompress_struct cinfo;
00055 struct jpeg_error_mgr jerr;
00056 };
00057
00058
00059 #endif