1 #if !defined(_SCANNERFILE4BITENCODED_) 2 #define _SCANNERFILE4BITENCODED_ 182 void AllocateEncodedBuff ();
184 static void ExitCleanUp ();
186 void GetNextScanLine (
uchar* lineBuff,
190 void WriteNextScanLine (
const uchar* buffer,
195 static uchar* convTable4BitTo8Bit;
196 static uchar* convTable8BitTo4Bit;
197 static uchar* compensationTable;
201 static void BuildConversionTables ();
226 typedef OpRec* OpRecPtr;
229 void PrintSizeInfo ();
233 void ProcessTextBlock (
const OpRec& rec);
234 void ProcessInstrumentDataWord (
const OpRec& rec);
235 void AllocateRawPixelRecBuffer (
kkuint32 size);
236 void ProcessRawPixelRecs (
kkuint16 numRawPixelRecs,
248 void AddCurRunLenToOutputBuffer ();
249 void AddCurRawStrToOutputBuffer ();
250 void AllocateRawStr (
kkuint16 size);
251 void ReSizeEncodedBuff (
kkuint32 newSize);
253 typedef enum {csNull, csRunLen, csRaw} CompStatus;
255 OpRecPtr encodedBuff;
257 OpRecPtr encodedBuffNext;
267 CompStatus curCompStatus;
ScannerFile4BitEncoded * ScannerFile4BitEncodedPtr
ScannerFile4BitEncoded(const KKStr &_fileName, RunLog &_log)
virtual kkint64 SkipToNextFrame()
Skip to start of next frame returning back byte offset of that frame.
static const uchar * CompensationTable()
unsigned __int16 kkuint16
16 bit unsigned integer.
virtual ~ScannerFile4BitEncoded()
unsigned __int32 kkuint32
virtual void ScanRate(float _scanRate)
virtual void WriteBufferFrame()
Write the contents of 'frameBuffer' to he end of the scanner file.
virtual Format FileFormat() const
unsigned char uchar
Unsigned character.
static KKStr Concat(const std::vector< std::string > &values)
Concatenates the list of 'std::string' strings.
Contains Classes that are specific to Cameras physical characteristics.
kkuint32 ReadBufferFrame()
Writes a 32 bit number into the Scanner File Stream at current location.
Implements a 4 bit Encoded format.
Used for logging messages.
ScannerFile4BitEncoded(const KKStr &_fileName, kkuint32 _pixelsPerScanLine, kkuint32 _frameHeight, RunLog &_log)
virtual void WriteTextBlock(const uchar *txtBlock, kkuint32 txtBlockLen)