00001 #ifndef VIDEOMUX_APP_H 00002 #define VIDEOMUX_APP_H 00003 00004 #include <stdlib.h> 00005 #include <stdio.h> 00006 #include "yapi.h" 00007 #include "vya.h" 00008 #include "pfspdfe.h" 00009 #include "pfspdbe.h" 00010 #include "pfspd_env.h" 00011 #include "pfspd_usr.h" 00012 #include "videomux4_yuv.h" 00013 #include "videomux4_env.h" 00014 #include "videomux_usr.h" 00015 00016 class VideoMux4App: public ProcessNetwork 00017 { 00018 public: 00019 // constructor 00020 VideoMux4App( 00021 const Id& n, 00022 char* fefile, 00023 char* mxfile, 00024 char* befile 00025 ); 00026 00027 // type member function 00028 const char* type() const { return "VideoMux4App"; } 00029 00030 private: 00031 // fifo’s 00032 Fifo<VYApixel> Y_R_CVBS0; 00033 Fifo<VYApixel> U_G0; 00034 Fifo<VYApixel> V_B0; 00035 Fifo<VYAimageWidth> Y_RGBimgWidth0; 00036 Fifo<VYAimageHeight> Y_RGBimgHeight0; 00037 Fifo<VYAimageWidth> UVimgWidth0; 00038 Fifo<VYAimageHeight> UVimgHeight0; 00039 Fifo<VYAimageType> Y_YUV_RGBimgType0; 00040 00041 Fifo<VYApixel> Y_R_CVBS1; 00042 Fifo<VYApixel> U_G1; 00043 Fifo<VYApixel> V_B1; 00044 Fifo<VYAimageWidth> Y_RGBimgWidth1; 00045 Fifo<VYAimageHeight> Y_RGBimgHeight1; 00046 Fifo<VYAimageWidth> UVimgWidth1; 00047 Fifo<VYAimageHeight> UVimgHeight1; 00048 Fifo<VYAimageType> Y_YUV_RGBimgType1; 00049 00050 Fifo<VYApixel> Y_R_CVBS2; 00051 Fifo<VYApixel> U_G2; 00052 Fifo<VYApixel> V_B2; 00053 Fifo<VYAimageWidth> Y_RGBimgWidth2; 00054 Fifo<VYAimageHeight> Y_RGBimgHeight2; 00055 Fifo<VYAimageWidth> UVimgWidth2; 00056 Fifo<VYAimageHeight> UVimgHeight2; 00057 Fifo<VYAimageType> Y_YUV_RGBimgType2; 00058 00059 Fifo<VYApixel> Y_R_CVBS3; 00060 Fifo<VYApixel> U_G3; 00061 Fifo<VYApixel> V_B3; 00062 Fifo<VYAimageWidth> Y_RGBimgWidth3; 00063 Fifo<VYAimageHeight> Y_RGBimgHeight3; 00064 Fifo<VYAimageWidth> UVimgWidth3; 00065 Fifo<VYAimageHeight> UVimgHeight3; 00066 Fifo<VYAimageType> Y_YUV_RGBimgType3; 00067 00068 Fifo<VYApixel> Y_R_CVBS; 00069 Fifo<VYApixel> U_G; 00070 Fifo<VYApixel> V_B; 00071 Fifo<VYAimageWidth> Y_RGBimgWidth; 00072 Fifo<VYAimageHeight> Y_RGBimgHeight; 00073 Fifo<VYAimageWidth> UVimgWidth; 00074 Fifo<VYAimageHeight> UVimgHeight; 00075 Fifo<VYAimageType> Y_YUV_RGBimgType; 00076 00077 Fifo<pfspd_args_t> inArgs; 00078 Fifo<pfspd_args_t> outArgs; 00079 Fifo<videomux_args_t> muxArgs; 00080 00081 Fifo<VYAfileName> inFileName; 00082 Fifo<VYAfileName> outFileName; 00083 00084 Fifo<pT_header> inSeqInfo; 00085 Fifo<pT_header> outSeqInfo; 00086 00087 Fifo<imagePosition> YimgPos0; 00088 Fifo<imagePosition> UVimgPos0; 00089 00090 Fifo<imagePosition> YimgPos1; 00091 Fifo<imagePosition> UVimgPos1; 00092 00093 Fifo<imagePosition> YimgPos2; 00094 Fifo<imagePosition> UVimgPos2; 00095 00096 Fifo<imagePosition> YimgPos3; 00097 Fifo<imagePosition> UVimgPos3; 00098 00099 // processes 00100 pfspdFE frontEnd0; 00101 pfspdFE frontEnd1; 00102 pfspdFE frontEnd2; 00103 pfspdFE frontEnd3; 00104 VideoMux4YUV videomux; 00105 pfspdBE backEnd; 00106 00107 pfspdEnv frontEndEnv; 00108 VideoMux4Env videomuxEnv; 00109 pfspdEnv backEndEnv; 00110 00111 pfspdUsr frontEndUsr; 00112 VideoMuxUsr videomuxUsr; 00113 pfspdUsr backEndUsr; 00114 }; 00115 00116 #endif