huffmancode to decode in real-time for motion-jpeg

Dependents:   BaseJpegDecode_example SimpleJpegDecode_example Dumb_box_rev2

example code:

Import programBaseJpegDecode_example

BaseJpegDeocde exampe program

Import programSimpleJpegDecode_example

convert JPEG stream data to bitmap, BaseJpegDecode example program

Revision:
0:417b7ae90eff
Child:
1:bfbc18000cca
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BaseJpegDecode.h	Mon Oct 22 13:55:09 2012 +0000
@@ -0,0 +1,33 @@
+#ifndef BASE_JPEG_DECODE_H
+#define BASE_JPEG_DECODE_H
+#include "bjd_config.h"
+#include "HuffmanDecode.h"
+#include "BitPattern.h"
+
+
+class BaseJpegDecode {
+public:
+    BaseJpegDecode();
+    void clear();
+    void input(uint8_t c);
+    void input(uint8_t* buf, int len);
+    virtual void outputDC(int mcu, int block, int value) = 0;
+    virtual void outputAC(int mcu, int block, int scan, int value) = 0;
+    virtual void outputMARK(uint8_t c) = 0;
+private:
+    void inputScan(uint8_t c);
+    void restart();
+protected:
+    int m_seq;
+    int m_mcu;
+    int m_block;
+    int m_scan;
+    Huff* m_huff;
+    int m_old_DC_value[2];
+    BitPattern m_bitpat;
+    int m_skip;
+    uint8_t m_mark;
+    HuffmanDecode* pHD;
+    int m_yblocks;
+};
+#endif // BASE_JPEG_DECODE_H