Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members

mxcpc_mxpeg_namespace.h

00001 //           ///          //
00002 //          /////        ////
00003 //         /// XXX     XXX ///
00004 //        ///    XXX XXX    ///     $RCSfile: mxcpc_mxpeg_namespace.h,v $  
00005 //       ///       XXX       ///     $Revision: 1.2 $
00006 //      ///      XXX XXX      ///     $Date: 2005/08/09 13:57:26 $
00007 //     ////    XXX     XXX    ////     $Author: cvs-steve $
00008 //    ////                     ////
00009 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00010 //  //// Security Vision Systems ///////////////////////////////////////////////
00011 
00012 //           ///          //
00013 //          /////        ////
00014 //         /// XXX     XXX ///
00015 //        ///    XXX XXX    ///     $RCSfile: mxcpc_mxpeg_namespace.h,v $  
00016 //       ///       XXX       ///     $Revision: 1.2 $
00017 //      ///      XXX XXX      ///     $Date: 2005/08/09 13:57:26 $
00018 //     ////    XXX     XXX    ////     $Author: cvs-steve $
00019 //    ////                     ////
00020 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00021 //  //// Security Vision Systems ///////////////////////////////////////////////
00022 
00023 // Copyright (c) 2005, MOBOTIX AG.
00024 // This software is made available under the BSD licence. Please refer 
00025 // to the file LICENCE.TXT contained in this distribution for details.
00026 
00027 
00028 #ifndef __MXCPC_MXPEG_NAMESPACE_H__
00029 #define __MXCPC_MXPEG_NAMESPACE_H__
00030 
00031 
00032 
00033 #include <mxcpc_namespace.h>
00034 
00035 
00036 
00039 namespace mxcpc_mxpeg {
00040 
00041   const mxcpc::u8 MarkerId_SOI  = 0xd8;
00042   const mxcpc::u8 MarkerId_APP0 = 0xe0;
00043   const mxcpc::u8 MarkerId_DQT  = 0xdb;
00044   const mxcpc::u8 MarkerId_SOF0 = 0xc0;
00045   const mxcpc::u8 MarkerId_DHT  = 0xc4;
00046   const mxcpc::u8 MarkerId_SOS  = 0xda;
00047   const mxcpc::u8 MarkerId_EOI  = 0xd9;
00048   
00050   typedef struct {
00051     mxcpc::u8 ff;               // Marker-leadin
00052     mxcpc::u8 app0_marker;      // APP0-Marker
00053     mxcpc::u8 len_hi, len_lo;   // Length of APP0 block (2 bytes)
00054     char id[5];                 // Block ID (4 bytes - ASCII "JFIF" + \0)
00055     mxcpc::u8 major_vers, minor_vers; // Version Major, Minor (2 bytes - major first)
00056     mxcpc::u8 units;            // Units (1 byte - 0x00 = none, 0x01 = inch, 0x02 = cm)
00057     mxcpc::u8 xdpu_hi, xdpu_lo; // Xdpu (2 bytes - dots per unit horizontal)
00058     mxcpc::u8 ydpu_hi, ydpu_lo; // Ydpu (2 bytes - dots per unit vertical)
00059     mxcpc::u8 thumbnail_x;      // Thumbnail X size (1 byte)
00060     mxcpc::u8 thumbnail_y;      // Thumbnail Y size (1 byte)
00061   } 
00062     APP0;   
00063 
00065   typedef struct {
00066     mxcpc::u8 ff;        
00067     mxcpc::u8 marker;           
00068     mxcpc::u8 len_hi, len_lo;   
00069     mxcpc::u8 data_precision;   
00070     mxcpc::u8 y_sz_hi, y_sz_lo; 
00071     mxcpc::u8 x_sz_hi, x_sz_lo; 
00072     mxcpc::u8 num_components;   
00073     struct {  
00074       mxcpc::u8 component_id; 
00075       mxcpc::u8 sampl_fact;   
00076       mxcpc::u8 quant_tbl_no; 
00077     } 
00078       components[3];
00079   } 
00080     SOF0; 
00081     
00083   typedef struct {
00084     mxcpc::u8 ff;
00085     mxcpc::u8 sos_marker;
00086     mxcpc::u8 sz_hi;
00087     mxcpc::u8 sz_lo;
00088     mxcpc::u8 comps_in_scan;
00089     struct {
00090       mxcpc::u8 comp_id;
00091       mxcpc::u8 td_ta;
00092     } 
00093       components[3];
00094     mxcpc::u8 Ss;
00095     mxcpc::u8 Se;
00096     mxcpc::u8 Ah_Al;
00097   } 
00098     SOS;
00099    
00100 };
00101 
00102 
00103 
00104 #endif   // __MXCPC_MXPEG_NAMESPACE_H__
00105 

Generated on Mon Aug 15 03:39:29 2005 for mxcpc by  doxygen 1.4.2-20050421