00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef VLD_H
00012 #define VLD_H
00013
00014 #include "yapi.h"
00015 #include "vya.h"
00016 #include "datatype.h"
00017
00018 class VLD : public Process
00019 {
00020 public:
00021
00022 VLD(
00023 const Id& n,
00024 In<Marker>& markerIn,
00025 In<Bits>& restartIntervalBitsIn,
00026 In<Bits>& Cin,
00027 In<VYAimageDepth>& imageDepthIn,
00028 In<VYAimageComponent>& imageComponentIdIn,
00029 In<VYAimageH>& imageHIn,
00030 In<VYAimageV>& imageVIn,
00031 In<VYAimageDepth>& scanDepthIn,
00032 In<VYAimageComponent>& scanComponentIdIn,
00033 In<Bits>& HuffmanTableIn,
00034 In<VYAid>& HuffmanTableIdIn,
00035 Out<VYApixel>& Cout
00036 );
00037
00038
00039 const char* type() const { return "VLD"; }
00040
00041
00042 void main();
00043
00044 private:
00045
00046 InPort<Marker> markerInP;
00047 InPort<Bits> restartIntervalBitsInP;
00048 InPort<Bits> CinP;
00049 InPort<VYAimageDepth> imageDepthInP;
00050 InPort<VYAimageComponent> imageComponentIdInP;
00051 InPort<VYAimageH> imageHInP;
00052 InPort<VYAimageV> imageVInP;
00053 InPort<VYAimageDepth> scanDepthInP;
00054 InPort<VYAimageComponent> scanComponentIdInP;
00055 InPort<Bits> HuffmanTableInP;
00056 InPort<VYAid> HuffmanTableIdInP;
00057
00058
00059 OutPort<VYApixel> CoutP;
00060
00061
00062 unsigned char get_symbol(int select);
00063 unsigned int get_size();
00064 int get_bits(int number);
00065 VYApixel reformat(unsigned long S, int good);
00066 int load_huff_tables();
00067 void load_restart_interval();
00068 void abort();
00069
00070
00071 int window;
00072 int bit_count;
00073 unsigned int restartInterval;
00074 };
00075
00076 #endif