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

decode.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 DECODE_H
00012 #define DECODE_H
00013 
00014 #include "yapi.h"
00015 #include "vld.h"
00016 #include "iq.h"
00017 #include "izz.h"
00018 #include "idct.h"
00019 
00020 class Decode : public ProcessNetwork
00021 {
00022 public:
00023   // constructor
00024   Decode(
00025     const Id&               n, 
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<Marker>&             DHTmarkerIn,
00034     In<Bits>&               HuffmanTableIn,
00035     In<VYAid>&              HuffmanTableIdIn,
00036     In<Marker>&             DQTmarkerIn,
00037     In<Bits>&               QuantizationTableIn,
00038     In<VYAid>&              QuantizationTableIdIn,
00039     In<Bits>&               restartIntervalBitsIn,
00040     Out<VYApixel>&          Cout
00041   );
00042   
00043   const char* type() const { return "Decode"; }
00044 
00045 private:
00046   // input ports
00047   InPort<Bits>              CinP;
00048   InPort<VYAimageDepth>     imageDepthInP;
00049   InPort<VYAimageComponent> imageComponentIdInP;
00050   InPort<VYAimageH>         imageHInP;
00051   InPort<VYAimageV>         imageVInP;
00052   InPort<VYAimageDepth>     scanDepthInP;
00053   InPort<VYAimageComponent> scanComponentIdInP;
00054   InPort<Marker>            DHTmarkerInP;
00055   InPort<Bits>              HuffmanTableInP;
00056   InPort<VYAid>             HuffmanTableIdInP;
00057   InPort<Marker>            DQTmarkerInP;
00058   InPort<Bits>              QuantizationTableInP;
00059   InPort<VYAid>             QuantizationTableIdInP;
00060   InPort<Bits>              restartIntervalBitsInP;
00061   
00062   // output ports
00063   OutPort<VYApixel>         CoutP;
00064 
00065   // Fifos     
00066   Fifo<VYApixel>            quantizedpixels;
00067   Fifo<VYApixel>            zigzagpixels;
00068   Fifo<VYApixel>            dctpixels;
00069   
00070   // Processes
00071   VLD   vld;
00072   IQ    iq;
00073   IZZ   izz;
00074   IDCT  idct;
00075 };
00076 
00077 #endif

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