00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef VHS3C_H
00012 #define VHS3C_H
00013
00014 #include "yapi.h"
00015 #include "utilities.h"
00016 #include "vs3c.h"
00017 #include "hs3c.h"
00018
00019 class VHS3C : public ProcessNetwork
00020 {
00021 public:
00022
00023 VHS3C(
00024 const Id& n,
00025 In<VYApixel>& Yin,
00026 In<VYApixel>& Uin,
00027 In<VYApixel>& Vin,
00028
00029 In<VYAimageWidth>& YimageWidthIn,
00030 In<VYAimageHeight>& YimageHeightIn,
00031
00032 In<VYAimageWidth>& UVimageWidthIn,
00033 In<VYAimageHeight>& UViImageHeightIn,
00034
00035 In<VYAimageWidth>& YoutImageWidthIn,
00036 In<VYAimageHeight>& YoutImageHeightIn,
00037 In<VYAimageWidth>& UVoutImageWidthIn,
00038 In<VYAimageHeight>& UVoutImageHeightIn,
00039
00040 Out<VYApixel>& Yout,
00041 Out<VYApixel>& Uout,
00042 Out<VYApixel>& Vout
00043 );
00044
00045
00046 const char* type() const { return "VHS3C"; }
00047
00048 private:
00049
00050 InPort<VYApixel> YinP;
00051 InPort<VYApixel> UinP;
00052 InPort<VYApixel> VinP;
00053
00054 InPort<VYAimageWidth> YimageWidthInP;
00055 InPort<VYAimageHeight> YimageHeightInP;
00056
00057 InPort<VYAimageWidth> UVimageWidthInP;
00058 InPort<VYAimageHeight> UVimageHeightInP;
00059
00060 InPort<VYAimageWidth> YoutImageWidthInP;
00061 InPort<VYAimageHeight> YoutImageHeightInP;
00062 InPort<VYAimageWidth> UVoutImageWidthInP;
00063 InPort<VYAimageHeight> UVoutImageHeightInP;
00064
00065
00066 OutPort<VYApixel> YoutP;
00067 OutPort<VYApixel> UoutP;
00068 OutPort<VYApixel> VoutP;
00069
00070
00071 Fifo<VYApixel> Y;
00072 Fifo<VYApixel> U;
00073 Fifo<VYApixel> V;
00074
00075 Fifo<VYAlineLength> YlineLength;
00076 Fifo<VYAlineLength> UVlineLength;
00077 Fifo<VYAlineLength> YoutLineLength;
00078 Fifo<VYAlineLength> UVoutLineLength;
00079
00080
00081 i2l Yi2l;
00082 i2l UVi2l;
00083 i2l YoutI2l;
00084 i2l UVoutI2l;
00085
00086 VS3C vs3c;
00087 HS3C hs3c;
00088 };
00089
00090 #endif