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

vhs3c.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 VHS3C_H
00012 #define VHS3C_H
00013 
00014 #include "yapi.h"
00015 #include "utilities.h"
00016 #include "vs3c.h"
00017 #include "hs3c.h"
00018 
00019 class VHS3C : public ProcessNetwork
00020 {
00021 public:
00022   // constructor
00023   VHS3C(
00024     const Id&           n,   
00025     In<VYApixel>&       Yin,
00026     In<VYApixel>&       Uin,
00027     In<VYApixel>&       Vin,
00028 
00029     In<VYAimageWidth>&  YimageWidthIn,
00030     In<VYAimageHeight>& YimageHeightIn,
00031 
00032     In<VYAimageWidth>&  UVimageWidthIn,
00033     In<VYAimageHeight>& UViImageHeightIn,
00034 
00035     In<VYAimageWidth>&  YoutImageWidthIn,
00036     In<VYAimageHeight>& YoutImageHeightIn,
00037     In<VYAimageWidth>&  UVoutImageWidthIn,
00038     In<VYAimageHeight>& UVoutImageHeightIn,
00039 
00040     Out<VYApixel>&      Yout,
00041     Out<VYApixel>&      Uout,
00042     Out<VYApixel>&      Vout
00043   );
00044 
00045   // type member function
00046   const char* type() const { return "VHS3C"; }
00047 
00048 private:
00049   // Input ports
00050   InPort<VYApixel>        YinP;
00051   InPort<VYApixel>        UinP;
00052   InPort<VYApixel>        VinP;
00053 
00054   InPort<VYAimageWidth>   YimageWidthInP;
00055   InPort<VYAimageHeight>  YimageHeightInP;
00056 
00057   InPort<VYAimageWidth>   UVimageWidthInP;
00058   InPort<VYAimageHeight>  UVimageHeightInP;
00059 
00060   InPort<VYAimageWidth>   YoutImageWidthInP;
00061   InPort<VYAimageHeight>  YoutImageHeightInP;
00062   InPort<VYAimageWidth>   UVoutImageWidthInP;
00063   InPort<VYAimageHeight>  UVoutImageHeightInP;
00064   
00065   // Output ports
00066   OutPort<VYApixel>       YoutP;
00067   OutPort<VYApixel>       UoutP;
00068   OutPort<VYApixel>       VoutP;
00069   
00070   // Fifos
00071   Fifo<VYApixel>          Y;
00072   Fifo<VYApixel>          U;
00073   Fifo<VYApixel>          V;
00074   
00075   Fifo<VYAlineLength>     YlineLength;
00076   Fifo<VYAlineLength>     UVlineLength;
00077   Fifo<VYAlineLength>     YoutLineLength;
00078   Fifo<VYAlineLength>     UVoutLineLength;
00079 
00080   // Processes
00081   i2l                     Yi2l;
00082   i2l                     UVi2l;
00083   i2l                     YoutI2l;
00084   i2l                     UVoutI2l;
00085   
00086   VS3C                    vs3c;
00087   HS3C                    hs3c;
00088 };
00089 
00090 #endif

Generated on Wed Feb 15 14:52:44 2006 for scaling by doxygen 1.3.2