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 "videomux_ctl.h"
00009 #include "videomux.h"
00010
00011 class VideoMuxYUV : public ProcessNetwork
00012 {
00013 public:
00014
00015 VideoMuxYUV(
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 Out<VYApixel>& YoutF,
00041 Out<VYApixel>& UoutF,
00042 Out<VYApixel>& VoutF,
00043 Out<VYAimageWidth>& YimgWidthOutF,
00044 Out<VYAimageWidth>& UVimgWidthOutF,
00045 Out<VYAimageHeight>& YimgHeightOutF,
00046 Out<VYAimageHeight>& UVimgHeightOutF,
00047 Out<VYAimageType>& YUVimgTypeOutF
00048 );
00049
00050
00051 const char* type() const;
00052
00053 private:
00054 InPort<VYApixel> YinP0;
00055 InPort<VYApixel> UinP0;
00056 InPort<VYApixel> VinP0;
00057 InPort<VYAimageWidth> YimgWidthInP0;
00058 InPort<VYAimageWidth> UVimgWidthInP0;
00059 InPort<VYAimageHeight> YimgHeightInP0;
00060 InPort<VYAimageHeight> UVimgHeightInP0;
00061 InPort<VYAimageType> YUVimgTypeInP0;
00062 InPort<imagePosition> YimgPosInP0;
00063 InPort<imagePosition> UVimgPosInP0;
00064
00065 InPort<VYApixel> YinP1;
00066 InPort<VYApixel> UinP1;
00067 InPort<VYApixel> VinP1;
00068 InPort<VYAimageWidth> YimgWidthInP1;
00069 InPort<VYAimageWidth> UVimgWidthInP1;
00070 InPort<VYAimageHeight> YimgHeightInP1;
00071 InPort<VYAimageHeight> UVimgHeightInP1;
00072 InPort<VYAimageType> YUVimgTypeInP1;
00073 InPort<imagePosition> YimgPosInP1;
00074 InPort<imagePosition> UVimgPosInP1;
00075
00076 OutPort<VYApixel> YoutP;
00077 OutPort<VYApixel> UoutP;
00078 OutPort<VYApixel> VoutP;
00079 OutPort<VYAimageWidth> YimgWidthOutP;
00080 OutPort<VYAimageWidth> UVimgWidthOutP;
00081 OutPort<VYAimageHeight> YimgHeightOutP;
00082 OutPort<VYAimageHeight> UVimgHeightOutP;
00083 OutPort<VYAimageType> YUVimgTypeOutP;
00084
00085 Fifo<VYAimageWidth> VimgWidth;
00086 Fifo<VYAimageHeight> VimgHeight;
00087
00088
00089 VideoMux Ymux;
00090 VideoMux Umux;
00091 VideoMux Vmux;
00092
00093 VideoMuxCtl YUVmuxCtl;
00094
00095 sink<VYAimageWidth> sinkVimgW;
00096 sink<VYAimageHeight> sinkVimgH;
00097 };
00098
00099
00100 #endif