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:
3:a7547692071d
Parent:
2:5b1dd4e34857
Child:
6:d7ee458cacd1
--- a/inverseDCT.h	Tue Oct 30 13:22:08 2012 +0000
+++ b/inverseDCT.h	Mon Nov 05 22:47:05 2012 +0000
@@ -1,35 +1,29 @@
 #ifndef INVERSE_DCT_H
 #define INVERSE_DCT_H
 
-#define DCT_USE_INT 1
+#define USE_IDCT_AAN
+//#define USE_IDCT_TABLE
 
-#ifdef DCT_USE_INT
-
+#ifdef USE_IDCT_AAN
+#include "aanIDCT.h"
 class inverseDCT {
 public:
-    inverseDCT();
     void inputBLOCK(int mcu, int block, int scan, int value);
-    virtual void outputBLOCK(int mcu, int block, unsigned char* values) = 0;
+    virtual void outputBLOCK(int mcu, int block, int8_t * values) = 0;
+private:
+    int16_t m_s[64];
+    aanIDCT idct;
+};
+#endif // USE_IDCT_AAN
+
+#ifdef USE_IDCT_TABLE
+class inverseDCT {
+public:
+    void inputBLOCK(int mcu, int block, int scan, int value);
+    virtual void outputBLOCK(int mcu, int block, int8_t* values) = 0;
 private:
     int16_t m_sum[64];
-    int8_t m_cosxu[64];
-    int8_t m_cucv[64];
 };
-
-#else
-
-class inverseDCT {
-public:
-    inverseDCT();
-    void input(int mcu, int block, int scan, int value);
-    int m_result[64];
-private:
-    int m_sum[64];
-    void calc(int mcu, int block, int s[]);
-    int m_s[64];
-    void outputDot(int mcu, int block, int x, int y, int value);
-};
-
-#endif
-
-#endif // INVERSE_DCT_H
\ No newline at end of file
+#endif // USE_IDCT_TABLE
+ 
+#endif // INVERSE_DCT_H