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 SCALING_H 00012 #define SCALING_H 00013 00014 #include <stdlib.h> 00015 #include <stdio.h> 00016 #include "yapi.h" 00017 #include "vya.h" 00018 #include "pfspdfe.h" 00019 #include "pfspdbe.h" 00020 #include "vhs3c.h" 00021 #include "pfspd_env.h" 00022 #include "pfspd_usr.h" 00023 #include "scaling_env.h" 00024 #include "scaling_usr.h" 00025 00026 00027 class Scaling: public ProcessNetwork 00028 { 00029 public: 00030 // constructor 00031 Scaling( 00032 const Id& n, 00033 char* fefile, 00034 char* scfile, 00035 char* befile 00036 ); 00037 00038 // type member function 00039 const char* type() const { return "Scaling"; } 00040 00041 private: 00042 // fifo's 00043 Fifo<VYApixel> Yin; 00044 Fifo<VYApixel> Uin; 00045 Fifo<VYApixel> Vin; 00046 00047 Fifo<VYApixel> Yout; 00048 Fifo<VYApixel> Uout; 00049 Fifo<VYApixel> Vout; 00050 00051 Fifo<VYAimageWidth> YimgWidthIn; 00052 Fifo<VYAimageHeight> YimgHeightIn; 00053 Fifo<VYAimageWidth> UVimgWidthIn; 00054 Fifo<VYAimageHeight> UVimgHeightIn; 00055 Fifo<VYAimageType> YUVimgT; 00056 00057 Fifo<scaling_args_t> scalingArgs; 00058 Fifo<VYAimageWidth> YimgWidthOut; 00059 Fifo<VYAimageHeight> YimgHeightOut; 00060 Fifo<VYAimageWidth> UVimgWidthOut; 00061 Fifo<VYAimageHeight> UVimgHeightOut; 00062 00063 Fifo<pfspd_args_t> pfspdArgsIn; 00064 Fifo<VYAfileName> fileNameIn; 00065 Fifo<pT_header> seqInfoIn; 00066 00067 Fifo<pfspd_args_t> pfspdArgsOut; 00068 Fifo<VYAfileName> fileNameOut; 00069 Fifo<pT_header> seqInfoOut; 00070 00071 // processes 00072 pfspdFE frontEnd; 00073 pfspdBE backEnd; 00074 pfspdEnv pfspd_envFE; 00075 pfspdEnv pfspd_envBE; 00076 pfspdUsr pfspd_usrFE; 00077 pfspdUsr pfspd_usrBE; 00078 ScalingEnv scaling_env; 00079 ScalingUsr scaling_usr; 00080 00081 // process networks 00082 VHS3C vhs3c; 00083 }; 00084 00085 00086 #endif