00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef JFIF_H
00012 #define JFIF_H
00013
00014 #include "yapi.h"
00015 #include "dmx.h"
00016 #include "sof.h"
00017 #include "sos.h"
00018
00019 class JFIF : public ProcessNetwork
00020 {
00021 public:
00022
00023 JFIF(
00024 const Id& n,
00025 In<Bits>& JPEGbitsIn,
00026 Out<VYAimageDepth>& imageDepthOut,
00027 Out<VYAimageComponent>& imageComponentIdOut,
00028 Out<VYAimageH>& imageHOut,
00029 Out<VYAimageV>& imageVOut,
00030 Out<VYAimageX>& imageXOut,
00031 Out<VYAimageY>& imageYOut,
00032 Out<VYAimageDepth>& scanDepthOut,
00033 Out<VYAimageComponent>& scanComponentIdOut,
00034 Out<Marker>& DHTmarkerOut,
00035 Out<Bits>& HuffmanTableOut,
00036 Out<VYAid>& HuffmanTableIdOut,
00037 Out<Marker>& DQTmarkerOut,
00038 Out<Bits>& QuantizationTableOut,
00039 Out<VYAid>& QuantizationTableIdOut,
00040 Out<Bits>& restartIntervalBitsOut,
00041 Out<Bits>& MCUbitsOut
00042 );
00043
00044
00045 const char* type() const { return "JFIF"; }
00046
00047 private:
00048
00049 InPort<Bits> JPEGbitsInP;
00050
00051
00052 OutPort<VYAimageDepth> imageDepthOutP;
00053 OutPort<VYAimageComponent> imageComponentIdOutP;
00054 OutPort<VYAimageH> imageHOutP;
00055 OutPort<VYAimageV> imageVOutP;
00056 OutPort<VYAimageX> imageXOutP;
00057 OutPort<VYAimageY> imageYOutP;
00058 OutPort<VYAimageDepth> scanDepthOutP;
00059 OutPort<VYAimageComponent> scanComponentIdOutP;
00060 OutPort<Marker> DHTmarkerOutP;
00061 OutPort<Bits> HuffmanTableOutP;
00062 OutPort<VYAid> HuffmanTableIdOutP;
00063 OutPort<Marker> DQTmarkerOutP;
00064 OutPort<Bits> QuantizationTableOutP;
00065 OutPort<VYAid> QuantizationTableIdOutP;
00066 OutPort<Bits> restartIntervalBitsOutP;
00067 OutPort<Bits> MCUbitsOutP;
00068
00069
00070 Fifo<Bits> SOFsegment;
00071 Fifo<Bits> SOSseqment;
00072
00073
00074 DMX dmx;
00075 SOF sof;
00076 SOS sos;
00077 };
00078
00079 #endif