00001 #ifndef MNT_BIT_STREAM_H 00002 #define MNT_BIT_STREAM_H 00003 00004 #include "mnt_mmap.h" 00005 #include <stdlib.h> 00006 00010 class BitStream { 00011 public: 00012 00013 unsigned char *buffer_; 00014 unsigned char *endDataPtr_; 00016 unsigned char *endBufPtr_; 00018 unsigned char isVirtual_; 00019 unsigned char isMMap_; 00020 int size_; 00022 BitStream(int size); 00023 BitStream(char *name); 00024 ~BitStream(); 00025 void resize(int newsize); 00026 int bytes_left(int offset); 00027 void share(BitStream *dest); 00028 }; 00029 00030 /* 00031 BitStream *BitStreamNew(int); 00032 void BitStreamFree(BitStream *); 00033 BitStream *BitStreamMmapReadNew(char *); 00034 BitStream *BitStreamMmapWriteNew(char *); 00035 void BitStreamMmapReadFree(BitStream *); 00036 void BitStreamShift(BitStream *, int); 00037 void BitStreamShareBuffer(BitStream *, BitStream *); 00038 void BitStreamResize(BitStream *, int); 00039 int BitStreamBytesLeft(BitStream *, int); 00040 void BitStreamDump(BitStream *, int, BitStream *, int, int); 00041 void BitStreamDumpSegments(BitStream *, int, BitStream *, int, int, int, int); 00042 */ 00043 00044 00045 #endif