Main Page | Namespace List | Compound List | File List | Compound Members | File Members

vld.h

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------
00002  *
00003  * (C) Copyright Koninklijke Philips Electronics NV 2006. 
00004  * All rights reserved. This software is licensed under the terms of
00005  * version 2.1 of the GNU Lesser General Public License as published 
00006  * by the Free Software Foundation. For licensing and warranty
00007  * information, see the file COPYING in the main directory.
00008  *
00009  *------------------------------------------------------------------*/
00010 
00011 #ifndef VLD_H
00012 #define VLD_H
00013 
00014 #include "yapi.h"
00015 #include "vya.h"
00016 #include "datatype.h"
00017 
00018 class VLD : public Process
00019 {
00020 public:
00021   //constructors
00022   VLD(
00023     const Id&               n, 
00024     In<Marker>&             markerIn,
00025     In<Bits>&               restartIntervalBitsIn,
00026     In<Bits>&               Cin,
00027     In<VYAimageDepth>&      imageDepthIn,
00028     In<VYAimageComponent>&  imageComponentIdIn,
00029     In<VYAimageH>&          imageHIn,
00030     In<VYAimageV>&          imageVIn,
00031     In<VYAimageDepth>&      scanDepthIn,
00032     In<VYAimageComponent>&  scanComponentIdIn,
00033     In<Bits>&               HuffmanTableIn,
00034     In<VYAid>&              HuffmanTableIdIn,
00035     Out<VYApixel>&          Cout
00036   );
00037 
00038   // type member function
00039   const char* type() const { return "VLD"; }
00040 
00041   // main member function
00042   void main();
00043 
00044 private:
00045   // input ports
00046   InPort<Marker>            markerInP;
00047   InPort<Bits>              restartIntervalBitsInP;
00048   InPort<Bits>              CinP;
00049   InPort<VYAimageDepth>     imageDepthInP;
00050   InPort<VYAimageComponent> imageComponentIdInP;
00051   InPort<VYAimageH>         imageHInP;
00052   InPort<VYAimageV>         imageVInP;
00053   InPort<VYAimageDepth>     scanDepthInP;
00054   InPort<VYAimageComponent> scanComponentIdInP;
00055   InPort<Bits>              HuffmanTableInP;
00056   InPort<VYAid>             HuffmanTableIdInP;
00057 
00058   // output ports
00059   OutPort<VYApixel>         CoutP;
00060 
00061   // member functions
00062   unsigned char get_symbol(int select);
00063   unsigned int get_size();
00064   int get_bits(int number);
00065   VYApixel reformat(unsigned long S, int good);
00066   int load_huff_tables();
00067   void load_restart_interval();
00068   void abort();
00069   
00070   // member variables
00071   int window;
00072   int bit_count;
00073   unsigned int restartInterval;
00074 };
00075 
00076 #endif

Generated on Wed Feb 15 14:52:45 2006 for jpegdec by doxygen 1.3.2