00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef DMX_H
00012 #define DMX_H
00013
00014 #include "yapi.h"
00015 #include "datatype.h"
00016
00017 class DMX : public Process
00018 {
00019 public:
00020
00021 DMX(
00022 Id n,
00023 In<Bits>& jpegBits,
00024 Out<Bits>& quantTableBits,
00025 Out<Bits>& huffTableBits,
00026 Out<Bits>& frameHeaderBits,
00027 Out<Bits>& scanHeaderBits,
00028 Out<Bits>& MCUBits,
00029 Out<Bits>& restartIntervalBitsOut,
00030 Out<Marker>& DHTmarkerOut,
00031 Out<Marker>& DQTmarkerOut
00032 );
00033
00034
00035 const char* type() const { return "DMX"; }
00036
00037
00038 void main();
00039
00040 private:
00041
00042 InPort<Bits> jpegIn;
00043
00044
00045 OutPort<Bits> quantizationTableOut;
00046 OutPort<Bits> huffmanTableOut;
00047 OutPort<Bits> frameHeaderOut;
00048 OutPort<Bits> scanHeaderOut;
00049 OutPort<Bits> MCUOut;
00050 OutPort<Bits> restartIntervalBitsOutP;
00051 OutPort<Marker> DHTmarkerOutP;
00052 OutPort<Marker> DQTmarkerOutP;
00053
00054
00055 void abort();
00056 bool get_bits(Bits& bits, Marker& marker);
00057 void get_marker(Marker& marker);
00058 };
00059
00060 #endif