Page principale | Liste des namespaces | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de namespace | Membres de classe

JpegDecompressor.hpp

00001 
00008 #ifndef __JPEGDECOMPRESSOR_HPP__
00009 #define __JPEGDECOMPRESSOR_HPP__
00010 
00011 
00012 #include <iostream>
00013 
00014 
00015 extern "C"
00016 {
00017 #include <jpeglib.h>
00018 #include <jerror.h>
00019 }
00020 
00021 
00022 // Définition d'un conteneur d'informations
00023 typedef struct
00024 {
00025   // Informations générales
00026   jpeg_source_mgr pub;
00027   // Pointeur vers l'image compressée
00028   unsigned char* stream;
00029   // Taille de l'image compressée
00030   int size;
00031 } JpegInformations;
00032 
00033 // Initialise la source de données, ce qui est déjà fait
00034 static inline void mem_init_source(j_decompress_ptr cinfo)
00035 { }
00036 
00037 // Remplit le buffer de données, ce qui est déjà fait
00038 boolean mem_fill_input_buffer(j_decompress_ptr cinfo);
00039 
00040 // Définit l'emplacement mémoire des données
00041 void mem_ram_src(j_decompress_ptr cinfo, char *data, int len);
00042 
00043 // Saute des données
00044 void mem_skip_input_data(j_decompress_ptr cinfo, long num_bytes);
00045 
00046 // Méthode appellée après la décompression, pour détruire des objets
00047 static inline void mem_term_source(j_decompress_ptr cinfo)
00048 { }
00049 
00050 
00051 namespace ipsi
00052 {
00053   class JpegDecompressor
00054   {
00055   public:
00056     // Constructeur
00057     JpegDecompressor();
00058     // Destructeur
00059     ~JpegDecompressor();
00060     // Décompresse l'image
00061     void decompress(unsigned char *stream, int size);
00062     // Renvoie l'image
00063     unsigned char *getImage();
00064     // Renvoie la hauteur de l'image
00065     int getHeight();
00066     // Renvoie la largeur de l'image
00067     int getWidth();
00068     
00069   private:
00070     // Buffer de sortie
00071     unsigned char* outputImage;
00072     // Hauteur de l'image
00073     int height;
00074     // Largeur de l'image
00075     int width;
00076   };
00077 }
00078 
00079 #endif // __JPEGDECOMPRESSOR_H__

Généré le Wed Aug 16 12:33:36 2006 pour IpsiC++library par  doxygen 1.4.4