
BaseJpegDeocde exampe program
Dependencies: BaseJpegDecode Terminal BaseUsbHost mbed mbed-rtos
Fork of BaseJpegDecode by
Diff: example2_c270.cpp
- Revision:
- 3:2709bbf8baae
- Parent:
- 2:697ebeb8336f
--- a/example2_c270.cpp Mon Oct 22 14:10:04 2012 +0000 +++ b/example2_c270.cpp Thu Oct 25 11:02:17 2012 +0000 @@ -20,19 +20,19 @@ class Decode1 : public BaseJpegDecode { public: - int8_t m_y0[WIDTH/16*HEIGHT/8]; - int8_t m_y1[WIDTH/16*HEIGHT/8]; - int8_t m_cb[WIDTH/16*HEIGHT/8]; - int8_t m_cr[WIDTH/16*HEIGHT/8]; + int16_t m_y0[WIDTH/16*HEIGHT/8]; + int16_t m_y1[WIDTH/16*HEIGHT/8]; + int16_t m_cb[WIDTH/16*HEIGHT/8]; + int16_t m_cr[WIDTH/16*HEIGHT/8]; virtual void outputDC(int mcu, int block, int value) { if (mcu >= (WIDTH/16*HEIGHT/8)) { return; } switch(block) { // 0-1:Y 2:Cb 3:Cr - case 0: m_y0[mcu] = value; break; - case 1: m_y1[mcu] = value; break; - case 2: m_cb[mcu] = value; break; - case 3: m_cr[mcu] = value; break; + case 0: m_y0[mcu] = value * qt[0][0]; break; + case 1: m_y1[mcu] = value * qt[0][0]; break; + case 2: m_cb[mcu] = value * qt[1][0]; break; + case 3: m_cr[mcu] = value * qt[1][0]; break; } } virtual void outputAC(int mcu, int block, int scan, int value){}; @@ -72,13 +72,13 @@ term.locate(0, column++); for(int x = 0; x < WIDTH/16; x++) { int mcu = y*WIDTH/16+x; - term.printf("[%+3d,%+3d],", decode->m_y0[mcu], decode->m_y1[mcu]); + term.printf("%+4d,%+4d,", decode->m_y0[mcu], decode->m_y1[mcu]); cam->poll(); } term.locate(0, column++); for(int x = 0; x < WIDTH/16; x++) { int mcu = y*WIDTH/16+x; - term.printf("(%+3d,%+3d),", decode->m_cb[mcu], decode->m_cr[mcu]); + term.printf("%+4d,%+4d,", decode->m_cb[mcu], decode->m_cr[mcu]); cam->poll(); } }