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
BaseJpegDecode.h
- Committer:
- va009039
- Date:
- 2012-10-25
- Revision:
- 1:bfbc18000cca
- Parent:
- 0:417b7ae90eff
- Child:
- 2:5b1dd4e34857
File content as of revision 1:bfbc18000cca:
#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; uint8_t* qt[2]; int width; int height; int m_yblocks; #ifdef JPEG_USE_REPORT_CODE int report_scan_count; int report_scan_dc_count; int report_scan_ac_count; #endif //JPEG_USE_REPORT private: void inputDQT(uint8_t c, int pos, int len); void inputSOF(uint8_t c, int pos, int len); 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; uint8_t m_mark; HuffmanDecode* pHD; int m_seg_pos; int m_seg_len; int m_param1; }; #endif // BASE_JPEG_DECODE_H