00001
00002
00003
00004
00005 #ifndef ARITH_H
00006
00007 #define ARITH_H
00008
00009 #include "utypes.h"
00010 #include <stdio.h>
00011
00012 class ppm_expander;
00013
00014 class PPM_ReadBuf
00015 {
00016 FILE *my_file_in;
00017 ppm_expander* parent;
00018 public:
00019 PPM_ReadBuf(FILE* f, ppm_expander* _parent) : my_file_in(f), parent(_parent) {}
00020 UINT readbuf(UCHAR *buf,UINT len);
00021 };
00022
00023 class ArithClass
00024 {
00025
00026 UCHAR *ainbuf;
00027 UCHAR *apinbuf,*aendinbuf;
00028 UINT ainbufsize;
00029 USHORT avalue,alow,ahigh;
00030 PPM_ReadBuf* areadbuf;
00031 UCHAR abitcnt;
00032 USHORT abitbuf;
00033
00034 public:
00035 void Arith_DecodeInit(PPM_ReadBuf* readbuf,UCHAR *buf,UINT bufsize);
00036 UINT Arith_DecodeVal(UINT size);
00037 void Arith_Decode(UINT min,UINT max,UINT size);
00038 void Arith_DecodeEnd(void);
00039
00040 };
00041 #endif