00001 #ifndef VIDEOMUX_YUV_H
00002 #define VIDEOMUX_YUV_H
00003
00004 #include "yapi.h"
00005 #include "vya.h"
00006 #include "utilities.h"
00007 #include "videomux_types.h"
00008 #include "videomux4_ctl.h"
00009 #include "videomux4.h"
00010
00011 class VideoMux4YUV : public ProcessNetwork
00012 {
00013 public:
00014
00015 VideoMux4YUV(
00016 const Id& n,
00017
00018 In<VYApixel>& YinF0,
00019 In<VYApixel>& UinF0,
00020 In<VYApixel>& VinF0,
00021 In<VYAimageWidth>& YimgWidthInF0,
00022 In<VYAimageWidth>& UVimgWidthInF0,
00023 In<VYAimageHeight>& YimgHeightInF0,
00024 In<VYAimageHeight>& UVimgHeightInF0,
00025 In<VYAimageType>& YUVimgTypeInF0,
00026 In<imagePosition>& YimgPosInF0,
00027 In<imagePosition>& UVimgPosInF0,
00028
00029 In<VYApixel>& YinF1,
00030 In<VYApixel>& UinF1,
00031 In<VYApixel>& VinF1,
00032 In<VYAimageWidth>& YimgWidthInF1,
00033 In<VYAimageWidth>& UVimgWidthInF1,
00034 In<VYAimageHeight>& YimgHeightInF1,
00035 In<VYAimageHeight>& UVimgHeightInF1,
00036 In<VYAimageType>& YUVimgTypeInF1,
00037 In<imagePosition>& YimgPosInF1,
00038 In<imagePosition>& UVimgPosInF1,
00039
00040 In<VYApixel>& YinF2,
00041 In<VYApixel>& UinF2,
00042 In<VYApixel>& VinF2,
00043 In<VYAimageWidth>& YimgWidthInF2,
00044 In<VYAimageWidth>& UVimgWidthInF2,
00045 In<VYAimageHeight>& YimgHeightInF2,
00046 In<VYAimageHeight>& UVimgHeightInF2,
00047 In<VYAimageType>& YUVimgTypeInF2,
00048 In<imagePosition>& YimgPosInF2,
00049 In<imagePosition>& UVimgPosInF2,
00050
00051 In<VYApixel>& YinF3,
00052 In<VYApixel>& UinF3,
00053 In<VYApixel>& VinF3,
00054 In<VYAimageWidth>& YimgWidthInF3,
00055 In<VYAimageWidth>& UVimgWidthInF3,
00056 In<VYAimageHeight>& YimgHeightInF3,
00057 In<VYAimageHeight>& UVimgHeightInF3,
00058 In<VYAimageType>& YUVimgTypeInF3,
00059 In<imagePosition>& YimgPosInF3,
00060 In<imagePosition>& UVimgPosInF3,
00061
00062 Out<VYApixel>& YoutF,
00063 Out<VYApixel>& UoutF,
00064 Out<VYApixel>& VoutF,
00065 Out<VYAimageWidth>& YimgWidthOutF,
00066 Out<VYAimageWidth>& UVimgWidthOutF,
00067 Out<VYAimageHeight>& YimgHeightOutF,
00068 Out<VYAimageHeight>& UVimgHeightOutF,
00069 Out<VYAimageType>& YUVimgTypeOutF
00070 );
00071
00072
00073 const char* type() const;
00074
00075 private:
00076 InPort<VYApixel> YinP0;
00077 InPort<VYApixel> UinP0;
00078 InPort<VYApixel> VinP0;
00079 InPort<VYAimageWidth> YimgWidthInP0;
00080 InPort<VYAimageWidth> UVimgWidthInP0;
00081 InPort<VYAimageHeight> YimgHeightInP0;
00082 InPort<VYAimageHeight> UVimgHeightInP0;
00083 InPort<VYAimageType> YUVimgTypeInP0;
00084 InPort<imagePosition> YimgPosInP0;
00085 InPort<imagePosition> UVimgPosInP0;
00086
00087 InPort<VYApixel> YinP1;
00088 InPort<VYApixel> UinP1;
00089 InPort<VYApixel> VinP1;
00090 InPort<VYAimageWidth> YimgWidthInP1;
00091 InPort<VYAimageWidth> UVimgWidthInP1;
00092 InPort<VYAimageHeight> YimgHeightInP1;
00093 InPort<VYAimageHeight> UVimgHeightInP1;
00094 InPort<VYAimageType> YUVimgTypeInP1;
00095 InPort<imagePosition> YimgPosInP1;
00096 InPort<imagePosition> UVimgPosInP1;
00097
00098 InPort<VYApixel> YinP2;
00099 InPort<VYApixel> UinP2;
00100 InPort<VYApixel> VinP2;
00101 InPort<VYAimageWidth> YimgWidthInP2;
00102 InPort<VYAimageWidth> UVimgWidthInP2;
00103 InPort<VYAimageHeight> YimgHeightInP2;
00104 InPort<VYAimageHeight> UVimgHeightInP2;
00105 InPort<VYAimageType> YUVimgTypeInP2;
00106 InPort<imagePosition> YimgPosInP2;
00107 InPort<imagePosition> UVimgPosInP2;
00108
00109 InPort<VYApixel> YinP3;
00110 InPort<VYApixel> UinP3;
00111 InPort<VYApixel> VinP3;
00112 InPort<VYAimageWidth> YimgWidthInP3;
00113 InPort<VYAimageWidth> UVimgWidthInP3;
00114 InPort<VYAimageHeight> YimgHeightInP3;
00115 InPort<VYAimageHeight> UVimgHeightInP3;
00116 InPort<VYAimageType> YUVimgTypeInP3;
00117 InPort<imagePosition> YimgPosInP3;
00118 InPort<imagePosition> UVimgPosInP3;
00119
00120 OutPort<VYApixel> YoutP;
00121 OutPort<VYApixel> UoutP;
00122 OutPort<VYApixel> VoutP;
00123 OutPort<VYAimageWidth> YimgWidthOutP;
00124 OutPort<VYAimageWidth> UVimgWidthOutP;
00125 OutPort<VYAimageHeight> YimgHeightOutP;
00126 OutPort<VYAimageHeight> UVimgHeightOutP;
00127 OutPort<VYAimageType> YUVimgTypeOutP;
00128
00129 Fifo<VYAimageWidth> VimgWidth;
00130 Fifo<VYAimageHeight> VimgHeight;
00131
00132
00133 VideoMux4 Ymux;
00134 VideoMux4 Umux;
00135 VideoMux4 Vmux;
00136
00137 VideoMux4Ctl YUVmuxCtl;
00138
00139 sink<VYAimageWidth> sinkVimgW;
00140 sink<VYAimageHeight> sinkVimgH;
00141 };
00142
00143 #endif