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 "videomux_yuv.h" 00013 #include "videomux_env.h" 00014 #include "videomux_usr.h" 00015 00016 class VideoMuxApp: public ProcessNetwork 00017 { 00018 public: 00019 // constructor 00020 VideoMuxApp( 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 "VideoMuxApp"; } 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_CVBS; 00051 Fifo<VYApixel> U_G; 00052 Fifo<VYApixel> V_B; 00053 Fifo<VYAimageWidth> Y_RGBimgWidth; 00054 Fifo<VYAimageHeight> Y_RGBimgHeight; 00055 Fifo<VYAimageWidth> UVimgWidth; 00056 Fifo<VYAimageHeight> UVimgHeight; 00057 Fifo<VYAimageType> Y_YUV_RGBimgType; 00058 00059 Fifo<pfspd_args_t> inArgs; 00060 Fifo<pfspd_args_t> outArgs; 00061 Fifo<videomux_args_t> muxArgs; 00062 00063 Fifo<VYAfileName> inFileName; 00064 Fifo<VYAfileName> outFileName; 00065 00066 Fifo<pT_header> inSeqInfo; 00067 Fifo<pT_header> outSeqInfo; 00068 00069 Fifo<imagePosition> YimgPos0; 00070 Fifo<imagePosition> UVimgPos0; 00071 Fifo<imagePosition> YimgPos1; 00072 Fifo<imagePosition> UVimgPos1; 00073 00074 // processes 00075 pfspdFE frontEnd0; 00076 pfspdFE frontEnd1; 00077 VideoMuxYUV videomux; 00078 pfspdBE backEnd; 00079 00080 pfspdEnv frontEndEnv; 00081 VideoMuxEnv videomuxEnv; 00082 pfspdEnv backEndEnv; 00083 00084 pfspdUsr frontEndUsr; 00085 VideoMuxUsr videomuxUsr; 00086 pfspdUsr backEndUsr; 00087 }; 00088 00089 #endif