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
inverseDCT.h@2:5b1dd4e34857, 2012-10-30 (annotated)
- Committer:
- va009039
- Date:
- Tue Oct 30 13:22:08 2012 +0000
- Revision:
- 2:5b1dd4e34857
- Child:
- 3:a7547692071d
add inverseDCT
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 2:5b1dd4e34857 | 1 | #ifndef INVERSE_DCT_H |
va009039 | 2:5b1dd4e34857 | 2 | #define INVERSE_DCT_H |
va009039 | 2:5b1dd4e34857 | 3 | |
va009039 | 2:5b1dd4e34857 | 4 | #define DCT_USE_INT 1 |
va009039 | 2:5b1dd4e34857 | 5 | |
va009039 | 2:5b1dd4e34857 | 6 | #ifdef DCT_USE_INT |
va009039 | 2:5b1dd4e34857 | 7 | |
va009039 | 2:5b1dd4e34857 | 8 | class inverseDCT { |
va009039 | 2:5b1dd4e34857 | 9 | public: |
va009039 | 2:5b1dd4e34857 | 10 | inverseDCT(); |
va009039 | 2:5b1dd4e34857 | 11 | void inputBLOCK(int mcu, int block, int scan, int value); |
va009039 | 2:5b1dd4e34857 | 12 | virtual void outputBLOCK(int mcu, int block, unsigned char* values) = 0; |
va009039 | 2:5b1dd4e34857 | 13 | private: |
va009039 | 2:5b1dd4e34857 | 14 | int16_t m_sum[64]; |
va009039 | 2:5b1dd4e34857 | 15 | int8_t m_cosxu[64]; |
va009039 | 2:5b1dd4e34857 | 16 | int8_t m_cucv[64]; |
va009039 | 2:5b1dd4e34857 | 17 | }; |
va009039 | 2:5b1dd4e34857 | 18 | |
va009039 | 2:5b1dd4e34857 | 19 | #else |
va009039 | 2:5b1dd4e34857 | 20 | |
va009039 | 2:5b1dd4e34857 | 21 | class inverseDCT { |
va009039 | 2:5b1dd4e34857 | 22 | public: |
va009039 | 2:5b1dd4e34857 | 23 | inverseDCT(); |
va009039 | 2:5b1dd4e34857 | 24 | void input(int mcu, int block, int scan, int value); |
va009039 | 2:5b1dd4e34857 | 25 | int m_result[64]; |
va009039 | 2:5b1dd4e34857 | 26 | private: |
va009039 | 2:5b1dd4e34857 | 27 | int m_sum[64]; |
va009039 | 2:5b1dd4e34857 | 28 | void calc(int mcu, int block, int s[]); |
va009039 | 2:5b1dd4e34857 | 29 | int m_s[64]; |
va009039 | 2:5b1dd4e34857 | 30 | void outputDot(int mcu, int block, int x, int y, int value); |
va009039 | 2:5b1dd4e34857 | 31 | }; |
va009039 | 2:5b1dd4e34857 | 32 | |
va009039 | 2:5b1dd4e34857 | 33 | #endif |
va009039 | 2:5b1dd4e34857 | 34 | |
va009039 | 2:5b1dd4e34857 | 35 | #endif // INVERSE_DCT_H |