BaseJpegDeocde exampe program

Dependencies:   BaseJpegDecode Terminal BaseUsbHost mbed mbed-rtos

Fork of BaseJpegDecode by Norimasa Okamoto

Files at this revision

API Documentation at this revision

Comitter:
va009039
Date:
Thu Oct 25 11:02:17 2012 +0000
Parent:
2:697ebeb8336f
Child:
4:7d88de31c55a
Commit message:
support DQT

Changed in this revision

BaseJpegDecode.lib Show annotated file Show diff for this revision Revisions of this file
Benchmark_data.h Show annotated file Show diff for this revision Revisions of this file
benchmark_BaseJpegDecode.cpp Show annotated file Show diff for this revision Revisions of this file
example1_c270.cpp Show annotated file Show diff for this revision Revisions of this file
example2_c270.cpp Show annotated file Show diff for this revision Revisions of this file
example4_c270.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/BaseJpegDecode.lib	Mon Oct 22 14:10:04 2012 +0000
+++ b/BaseJpegDecode.lib	Thu Oct 25 11:02:17 2012 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/va009039/code/BaseJpegDecode/#417b7ae90eff
+http://mbed.org/users/va009039/code/BaseJpegDecode/#bfbc18000cca
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Benchmark_data.h	Thu Oct 25 11:02:17 2012 +0000
@@ -0,0 +1,320 @@
+#ifndef BENCHMARK_DATA_H
+#define BENCHMARK_DATA_H
+
+// c270/cam0001.jpg 1830
+uint8_t c270_cam0001_jpg[] = {
+0xff,0xd8,0xff,0xe0,0x00,0x21,0x41,0x56,0x49,0x31,0x00,0x01,0x01,0x01,0x00,0x78,
+0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xff,0xdb,0x00,0x43,0x00,0x24,0x18,0x1b,0x1f,0x1b,0x16,
+0x24,0x1f,0x1d,0x1f,0x28,0x26,0x24,0x2a,0x36,0x5a,0x3a,0x36,0x31,0x31,0x36,0x6e,
+0x4e,0x53,0x41,0x5a,0x82,0x72,0x89,0x87,0x80,0x72,0x7e,0x8d,0x90,0xa2,0xcf,0xaf,
+0x90,0x99,0xc3,0x9b,0x7b,0x7e,0xb4,0xea,0xb6,0xc3,0xd5,0xdc,0xe7,0xea,0xe7,0x8b,
+0xad,0xfe,0x10,0xfc,0xe1,0x0e,0xcf,0xe3,0xe7,0xde,0xff,0xdb,0x00,0x43,0x01,0x26,
+0x28,0x28,0x36,0x2f,0x36,0x69,0x3a,0x3a,0x69,0xde,0x94,0x7e,0x94,0xde,0xde,0xde,
+0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,
+0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,
+0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xff,
+0xdd,0x00,0x04,0x00,0x0a,0xff,0xe0,0x00,0x04,0x00,0x00,0xff,0xc0,0x00,0x11,0x08,
+0x00,0x78,0x00,0xa0,0x03,0x01,0x21,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,
+0x01,0xa2,0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x01,
+0x00,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x00,0x02,0x01,
+0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7d,0x01,0x02,0x03,
+0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,
+0x32,0x81,0x91,0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,
+0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a,0x34,
+0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,
+0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,
+0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92,0x93,
+0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,
+0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,
+0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4,0xe5,
+0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0x11,
+0x00,0x02,0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,
+0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,
+0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,
+0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,
+0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,
+0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,
+0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,
+0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,
+0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,
+0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,
+0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,
+0xf9,0xfa,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,
+0xc8,0xa5,0xa0,0x05,0x14,0xb4,0x00,0xa2,0x9c,0xb4,0x0c,0x52,0x69,0xc2,0x80,0x14,
+0x1a,0x70,0x34,0xc0,0x50,0x69,0xd9,0xa4,0x01,0x9a,0x4c,0xd0,0x02,0x66,0x93,0x34,
+0x00,0x99,0xa6,0x93,0x40,0xc6,0x93,0x4d,0x26,0x81,0x1f,0xff,0xd0,0xc9,0xa2,0x80,
+0x16,0x96,0x80,0x16,0x9c,0xbd,0x28,0x18,0x1a,0x70,0xa0,0x05,0xa5,0x14,0x00,0xb9,
+0xa5,0xcd,0x00,0x19,0xe2,0x8c,0xd0,0x03,0x73,0x49,0x9a,0x00,0x4c,0xd2,0x66,0x80,
+0x1a,0x4d,0x34,0xd0,0x07,0xff,0xd1,0xc9,0xa2,0x80,0x16,0x96,0x80,0x0a,0x70,0xa4,
+0xc6,0x80,0xf5,0xa7,0x53,0x00,0xcd,0x38,0x50,0x01,0x9a,0x5c,0xd0,0x00,0x68,0xa0,
+0x06,0xe6,0x93,0x34,0x80,0x4c,0xd2,0x66,0x80,0x1b,0x49,0x40,0x1f,0xff,0xd2,0xca,
+0xa2,0x80,0x01,0x4b,0x40,0x0b,0x4e,0x1d,0x29,0x31,0x88,0x7a,0xd3,0x8d,0x00,0x25,
+0x38,0x53,0x00,0xef,0x4b,0x9a,0x40,0x04,0xd2,0x66,0x80,0x12,0x9b,0x40,0x09,0x49,
+0x40,0x05,0x25,0x00,0x7f,0xff,0xd3,0xcb,0xc5,0x18,0xa0,0x03,0x14,0xb4,0x00,0x53,
+0xc0,0xe2,0x93,0x1a,0x1a,0x7a,0xd3,0x8f,0x5a,0x00,0x4e,0xf4,0xa2,0x98,0x0a,0x68,
+0xa4,0x02,0x1a,0x28,0x01,0xb4,0x50,0x03,0x68,0xa0,0x04,0xa2,0x81,0x1f,0xff,0xd4,
+0xcf,0xdb,0x46,0xda,0x00,0x4c,0x51,0x8a,0x00,0x4c,0x53,0xc0,0xe2,0x93,0x1a,0x1a,
+0x7e,0xf5,0x2d,0x00,0x27,0x7a,0x5a,0x60,0x06,0x8e,0xf4,0x80,0x0d,0x25,0x00,0x25,
+0x25,0x00,0x25,0x14,0xc4,0x25,0x25,0x00,0x7f,0xff,0xd5,0xd6,0x36,0xb0,0x30,0x00,
+0xc2,0x9f,0x95,0x44,0xfa,0x75,0xab,0x7f,0x01,0x5f,0xa1,0xa4,0x22,0x17,0xd1,0xe2,
+0x3f,0x76,0x46,0x1f,0x51,0x9a,0x81,0xf4,0x77,0xfe,0x09,0x14,0xfd,0x78,0xa2,0xe1,
+0x72,0x07,0xd2,0xee,0x57,0xa2,0x06,0xfa,0x1a,0x85,0xed,0xa5,0x8f,0xef,0x46,0xc3,
+0xea,0x28,0x1a,0x64,0x25,0x4e,0xea,0x08,0xa0,0x63,0x47,0x5a,0x5a,0x00,0x43,0x45,
+0x00,0x06,0x92,0x80,0x12,0x8a,0x04,0x25,0x14,0xc0,0x43,0x49,0x40,0x1f,0xff,0xd6,
+0xdc,0xa2,0x91,0x24,0x25,0x6e,0x07,0xdd,0x91,0x1b,0xfd,0xe5,0xa4,0xdf,0x72,0xbd,
+0x62,0x46,0xff,0x00,0x75,0xb1,0xfc,0xe8,0x00,0xfb,0x43,0x8f,0xbf,0x6f,0x20,0xfa,
+0x60,0xd1,0xf6,0xb8,0x47,0xde,0x2c,0xbf,0xef,0x29,0x14,0x00,0x13,0x6b,0x37,0x53,
+0x13,0x93,0xeb,0x8c,0xd3,0x1f,0x4f,0xb5,0x7f,0xf9,0x67,0x83,0xec,0x68,0x19,0x8b,
+0x7d,0x6e,0x2d,0xae,0x9a,0x35,0xce,0xde,0xab,0x9f,0x4a,0x82,0x82,0x90,0x86,0x9a,
+0x4f,0x34,0x00,0x1a,0x4c,0xd0,0x20,0xa2,0x80,0x0a,0x43,0x4c,0x06,0x93,0x49,0x48,
+0x0f,0xff,0xd7,0xdb,0x1d,0x29,0x69,0x12,0x14,0x52,0x01,0x09,0xa4,0xef,0x83,0x4d,
+0x12,0xc8,0x5d,0x10,0xc7,0xbb,0x6a,0x96,0x03,0x20,0xe3,0xbd,0x58,0xa6,0xc2,0x2c,
+0xca,0xd6,0xe3,0x3f,0xbb,0x94,0x0e,0x39,0x52,0x7f,0x97,0xf5,0xac,0x93,0xd6,0xa4,
+0xd1,0x08,0x69,0x86,0x98,0x05,0x14,0x00,0x0a,0x51,0x4c,0x04,0x34,0xd3,0x48,0x04,
+0xa4,0xa0,0x0f,0xff,0xd0,0xdb,0x5f,0xba,0x29,0x69,0x12,0x21,0xc7,0x5a,0x42,0x45,
+0x02,0x76,0x02,0x47,0x1c,0xe2,0x98,0xc7,0x9e,0xb8,0x3e,0xf5,0x49,0x10,0xdf,0x62,
+0x13,0xe9,0x9a,0xb1,0x09,0xcc,0x28,0x7d,0xb1,0x44,0x87,0x02,0x1d,0x41,0x77,0x5a,
+0x9f,0x66,0x07,0xf5,0xac,0x96,0x0b,0xcf,0x1c,0xd4,0x1a,0x15,0x26,0xe1,0xdb,0xe9,
+0x50,0xe6,0x9a,0x18,0xb4,0x0a,0x60,0x02,0x96,0x90,0x08,0x69,0xa6,0x80,0x1b,0x45,
+0x00,0x7f,0xff,0xd1,0xdb,0x4f,0xb8,0x29,0x69,0x12,0x14,0x9b,0x45,0x17,0x06,0xae,
+0x21,0x8c,0x1e,0xe6,0x9a,0xd1,0x67,0xbd,0x3e,0x62,0x79,0x11,0x1b,0x5b,0x93,0xd1,
+0xff,0x00,0x4a,0x96,0x24,0x29,0x1e,0xd2,0x41,0xe4,0xd0,0xdd,0xc6,0x95,0x86,0xdc,
+0x61,0xa0,0x75,0xff,0x00,0x64,0xd6,0x14,0xd2,0x84,0x93,0x6f,0x3c,0x75,0xf7,0xa2,
+0xc3,0x4c,0xad,0x23,0x6f,0x24,0xf4,0xcd,0x30,0x00,0x01,0xcf,0x5a,0x06,0x1b,0x78,
+0xcd,0x14,0x0c,0x4c,0xd1,0x9a,0x40,0x25,0x21,0xa0,0x06,0xd1,0x40,0x1f,0xff,0xd2,
+0xd8,0x59,0x50,0x28,0x05,0xc6,0x71,0xeb,0x4e,0x0e,0xad,0xd1,0x81,0xa4,0x48,0x02,
+0x3b,0xe2,0x94,0x90,0x69,0x0e,0xc1,0xc7,0xf9,0x34,0x9c,0x63,0xad,0x31,0x07,0x18,
+0xeb,0x4d,0x73,0xb5,0x73,0x9a,0x69,0x8a,0xc4,0x5b,0xb3,0xc5,0x64,0x4b,0x08,0x91,
+0xf2,0x08,0x04,0x75,0xcd,0x36,0x08,0xaf,0x32,0x79,0x7c,0x71,0xf8,0x54,0x25,0xb8,
+0xfa,0x54,0xdc,0xa1,0x09,0xa4,0xcd,0x03,0x13,0x34,0x50,0x01,0x41,0xa0,0x62,0x52,
+0x50,0x23,0xff,0xd3,0x7d,0xa4,0x8e,0x22,0x6c,0x31,0xce,0xef,0xe8,0x2a,0x68,0xe7,
+0x6d,0xc7,0xcc,0x6c,0x8c,0x54,0x83,0x24,0xf3,0xd7,0xfb,0xc2,0x97,0xcf,0x5f,0xef,
+0x0f,0xce,0x9d,0xd0,0x83,0xce,0x5f,0xef,0x0f,0xce,0x9c,0x27,0x1f,0xde,0x14,0xb4,
+0x0d,0x43,0xcf,0x1e,0xa2,0x99,0x2c,0xe0,0x0e,0x30,0x4d,0x21,0x89,0x1b,0x96,0xc1,
+0x59,0x61,0x19,0x1f,0x75,0x8f,0x22,0xa2,0x16,0x52,0xf9,0x85,0x84,0x88,0x41,0xed,
+0x54,0x22,0x1b,0xad,0x3e,0x77,0x20,0xae,0xdc,0x01,0xef,0xfe,0x15,0x4d,0xb4,0xeb,
+0x91,0xfc,0x19,0xfc,0x68,0xb0,0x5c,0x61,0xb2,0xb9,0x1d,0x62,0x3f,0x98,0xa6,0xfd,
+0x96,0x71,0xff,0x00,0x2c,0xda,0x8b,0x05,0xd0,0xdf,0xb3,0xcd,0x9f,0xf5,0x4f,0xff,
+0x00,0x7c,0x9a,0x3c,0x89,0x47,0x58,0x9f,0xfe,0xf9,0x34,0x0c,0x43,0x1b,0x8e,0xa8,
+0xdf,0x95,0x1e,0x54,0x9f,0xdc,0x6f,0xca,0x81,0x8d,0x64,0x61,0xd5,0x48,0xfa,0x8a,
+0x6d,0x02,0x3f,0xff,0xd4,0x9b,0x4b,0x94,0x23,0x49,0xe6,0x15,0x03,0x03,0x15,0x73,
+0xed,0x90,0x7b,0x7e,0x94,0xed,0x76,0x45,0xec,0x1f,0x6a,0x80,0xf4,0x5c,0xfe,0x14,
+0xbe,0x7c,0x3f,0xf3,0xcc,0xff,0x00,0xdf,0x34,0x72,0x87,0x30,0x86,0x7b,0x7e,0xf1,
+0xff,0x00,0xe3,0x94,0x9e,0x7d,0xa9,0xff,0x00,0x96,0x43,0xfe,0xf8,0xa3,0x94,0x2e,
+0x1e,0x65,0xa1,0xff,0x00,0x96,0x43,0xfe,0xf8,0x14,0x9b,0xed,0x07,0xfc,0xb3,0x1f,
+0x90,0xa3,0x90,0x5c,0xc5,0x6b,0xc1,0x13,0x95,0x78,0x14,0x86,0x07,0x04,0x01,0xda,
+0xac,0x5a,0xf4,0x15,0x32,0x56,0x2e,0x2e,0xe5,0xb0,0x05,0x18,0xac,0xca,0x0c,0x7b,
+0xd2,0x15,0xf7,0x34,0xb5,0x11,0x01,0x73,0xea,0x7f,0x3a,0x42,0xc7,0xd5,0xbf,0xef,
+0xa3,0x53,0x76,0x5d,0x90,0xd2,0xc7,0xfb,0xcd,0xf9,0xd2,0x79,0x8f,0xfd,0xe3,0x45,
+0xc0,0x69,0x95,0xff,0x00,0xbc,0x69,0x8c,0xc4,0xf5,0xc1,0xfa,0x8a,0x77,0x03,0xff,
+0xd5,0x69,0xb4,0xb8,0x8c,0xfc,0xd1,0x31,0x1e,0xa3,0x9a,0xb9,0x60,0x57,0x0c,0x1d,
+0x87,0xb0,0x22,0x86,0xf4,0xd0,0x9b,0x6a,0x5d,0x1e,0x5e,0x3a,0x0f,0xca,0x8f,0xdd,
+0xff,0x00,0x74,0xff,0x00,0xdf,0x06,0xa2,0xcc,0x77,0x42,0xee,0x4e,0xca,0xdf,0xf7,
+0xc1,0xa3,0x70,0xec,0x8d,0xf9,0x51,0x60,0xb8,0xb9,0xff,0x00,0xa6,0x67,0xf4,0xa4,
+0x24,0x0f,0xf9,0x67,0xfc,0xa9,0xd8,0x0a,0x97,0xd2,0x7e,0xef,0x6a,0xa8,0xcb,0x1c,
+0x70,0x41,0x34,0x96,0xe0,0xa6,0x32,0x0d,0x4b,0x29,0x17,0x15,0x87,0xad,0x3b,0x35,
+0x20,0xd0,0xb4,0x50,0x22,0xab,0x75,0x34,0xd3,0x50,0x58,0xda,0x43,0x40,0xc6,0x93,
+0x4c,0x26,0x98,0x8f,0xff,0xd9};
+
+// vx700/cam0001.jpg 3104
+uint8_t vx700_cam0001_jpg[] = {
+0xff,0xd8,0xff,0xc0,0x00,0x11,0x08,0x00,0x78,0x00,0xa0,0x03,0x01,0x21,0x00,0x02,
+0x11,0x01,0x03,0x11,0x01,0xff,0xdb,0x00,0x84,0x00,0x0d,0x08,0x08,0x0d,0x08,0x08,
+0x0d,0x0d,0x0d,0x0d,0x11,0x0d,0x0d,0x11,0x15,0x23,0x15,0x15,0x11,0x11,0x15,0x2b,
+0x1e,0x1e,0x19,0x23,0x34,0x2b,0x34,0x34,0x2f,0x2b,0x2f,0x2f,0x39,0x3c,0x4e,0x45,
+0x39,0x3c,0x4a,0x3c,0x2f,0x2f,0x45,0x60,0x45,0x4a,0x52,0x57,0x5b,0x5b,0x5b,0x34,
+0x41,0x63,0x68,0x60,0x57,0x68,0x4e,0x57,0x5b,0x57,0x01,0x0d,0x11,0x11,0x15,0x11,
+0x15,0x27,0x15,0x15,0x27,0x57,0x39,0x2f,0x39,0x57,0x57,0x57,0x57,0x57,0x57,0x57,
+0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,
+0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,
+0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0xff,0xc4,0x01,0xa2,0x00,
+0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x01,0x00,0x03,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,
+0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x00,0x02,0x01,0x03,0x03,0x02,
+0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7d,0x01,0x02,0x03,0x00,0x04,0x11,
+0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,
+0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,
+0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a,0x34,0x35,0x36,0x37,
+0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,
+0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,
+0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,
+0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,
+0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,
+0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,
+0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0x11,0x00,0x02,0x01,
+0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,0x00,0x01,0x02,
+0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,
+0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,
+0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,0x27,0x28,0x29,
+0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,
+0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,
+0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,
+0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,
+0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,
+0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe2,0xe3,0xe4,
+0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xff,
+0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x00,0x00,0xe2,0x23,0xb8,
+0x0a,0x1b,0x72,0xee,0x24,0x71,0x83,0x8c,0x56,0x93,0x6d,0xf1,0x1c,0xd6,0x56,0xf0,
+0xaf,0x91,0x70,0x90,0x88,0x15,0x5b,0x94,0x6c,0x16,0x62,0xc4,0x8e,0x46,0x73,0xd3,
+0x07,0xeb,0x4e,0x4b,0x5b,0x89,0x19,0x20,0x10,0xd8,0x23,0x07,0xd2,0xa4,0x1f,0x85,
+0x03,0x1c,0x3a,0x7f,0x81,0xa6,0x3f,0xde,0xa0,0x00,0x52,0x8a,0x60,0x28,0xa5,0xa0,
+0x02,0x96,0x80,0x16,0x8c,0xd0,0x01,0x9a,0x33,0x40,0x0a,0x1b,0x14,0xbe,0x65,0x02,
+0x10,0x9c,0x9a,0x4c,0xd0,0x05,0x77,0x20,0x9e,0x39,0xc5,0x6a,0x78,0x51,0x4b,0x6b,
+0xd6,0xa5,0x73,0xc3,0x13,0xc7,0xd0,0xd2,0x7f,0x0b,0x1a,0xdc,0xa9,0xa9,0xa0,0x8f,
+0x55,0xbb,0x50,0x30,0x16,0x67,0x00,0x7f,0xc0,0x8d,0x44,0x3f,0x1a,0x10,0x96,0xc3,
+0x87,0x27,0xff,0x00,0xad,0x51,0xb9,0xcb,0x1f,0xe9,0x40,0xc2,0x94,0x50,0x02,0x8a,
+0x51,0x40,0x0b,0x46,0x69,0x80,0xb4,0x66,0x80,0x0c,0xd1,0x9a,0x00,0x33,0x46,0x68,
+0x00,0xcd,0x19,0xa0,0x08,0x42,0x86,0x6c,0x03,0xc7,0xa9,0x15,0xd1,0xf8,0x2a,0xcd,
+0x46,0xa8,0x24,0x2f,0x92,0x10,0xe0,0x0f,0xeb,0x51,0x36,0xed,0x64,0x34,0xb5,0x28,
+0xf8,0xb2,0x1f,0x27,0xc4,0x57,0x23,0x18,0x56,0xda,0xc3,0xdf,0x2a,0x33,0xfa,0xe6,
+0xb3,0x47,0x4f,0xfe,0xb5,0x35,0xb0,0x87,0x2e,0x3d,0xbf,0x3a,0x8d,0xfe,0xf5,0x30,
+0x10,0x52,0xd0,0x02,0x8a,0x51,0x40,0x0b,0x46,0x68,0x01,0x68,0xa0,0x03,0x34,0x66,
+0x98,0x05,0x19,0xa0,0x04,0xa3,0x34,0x01,0x2e,0x9f,0x6c,0x67,0x12,0xb7,0x65,0x1c,
+0xfe,0x35,0xb5,0xe1,0x88,0xa5,0xb6,0xd5,0x21,0x66,0x4f,0x90,0x9d,0xa4,0xe4,0x77,
+0x1c,0x7e,0xb5,0x8b,0x92,0x57,0x4c,0xbb,0x07,0x8f,0x61,0x2b,0xaa,0xc1,0x26,0x30,
+0xad,0x08,0x19,0xf5,0x21,0x8e,0x7f,0x98,0xae,0x7c,0x73,0xdc,0x7e,0x75,0xa4,0x76,
+0x20,0x78,0xce,0xd3,0xd7,0xf4,0xa8,0x5b,0xef,0x1a,0x60,0x14,0xb4,0x0c,0x5a,0x51,
+0x40,0x85,0xa2,0x80,0x0a,0x28,0x00,0xcd,0x19,0xa0,0x02,0x90,0x9a,0x00,0x33,0x46,
+0x69,0x81,0xb7,0xe1,0xbb,0x43,0x26,0x9d,0x78,0xf8,0xe1,0xbe,0x50,0x7e,0x9f,0xfe,
+0xba,0xb5,0xa7,0xca,0x63,0x91,0x58,0x7f,0x09,0x06,0xb9,0x25,0xab,0x66,0xab,0x72,
+0xcf,0x8f,0xa1,0x2d,0x0d,0x94,0xa3,0xa2,0x96,0x53,0xf8,0xe0,0x8f,0xe4,0x6b,0x93,
+0x00,0xe7,0xbf,0xe9,0x5d,0x11,0xd8,0xc8,0x72,0xaf,0x24,0x63,0xff,0x00,0x1d,0xa8,
+0x0f,0x53,0x54,0x00,0x29,0xc2,0x80,0x14,0x0a,0x50,0x29,0x00,0xb4,0x86,0x80,0x0a,
+0x4c,0xd3,0x18,0x52,0x66,0x81,0x0b,0x9a,0x42,0x68,0x00,0xcd,0x26,0x69,0x81,0xda,
+0xe8,0x50,0xaa,0x58,0x4e,0x80,0x0c,0xee,0xe4,0x0f,0x7f,0xf2,0x6b,0x3e,0x25,0xf2,
+0xee,0x19,0x4f,0x63,0x5c,0x46,0xbd,0x4d,0xdd,0x5a,0x05,0xbe,0xd1,0x61,0x2e,0x03,
+0xaa,0x95,0x63,0x9f,0xa6,0x3f,0xad,0x61,0xae,0x89,0x6c,0xe9,0xb4,0x46,0x54,0xff,
+0x00,0x78,0x31,0x27,0xf5,0x35,0xd1,0x17,0xa1,0x9b,0xdc,0x56,0xf0,0xcc,0x7b,0x30,
+0x8f,0x26,0xef,0x56,0x20,0xfe,0x98,0x15,0x85,0xaa,0xe9,0xff,0x00,0xd9,0xb7,0x42,
+0x3d,0xfe,0x66,0x54,0x36,0x76,0xed,0xee,0x78,0xc6,0x4f,0xa5,0x52,0x64,0x95,0x05,
+0x38,0x55,0x0c,0x51,0x4e,0xa4,0x01,0x4d,0x34,0x00,0x52,0x1a,0x06,0x14,0x53,0x10,
+0x99,0xa3,0x34,0x0c,0x4c,0xd1,0x4c,0x47,0x63,0xa3,0x4d,0xb6,0xe1,0x93,0xb3,0xa9,
+0xfc,0xc7,0x3f,0xe3,0x50,0x5e,0xaf,0x95,0x7c,0xde,0xfc,0xd7,0x1f,0x53,0x5e,0xa6,
+0xd4,0x0c,0x2e,0x34,0x46,0x5f,0xee,0xe7,0xf4,0x39,0xac,0xc9,0x27,0x4b,0x70,0x1a,
+0x49,0x15,0x17,0xa6,0x58,0xe2,0xb5,0x86,0xc6,0x72,0xdc,0xb4,0x92,0x49,0x14,0xa5,
+0x1c,0x1d,0xc3,0xaa,0xb8,0xc1,0x18,0xed,0xed,0x54,0xf5,0xdd,0x11,0x75,0x2b,0x7f,
+0x3a,0x10,0x45,0xc2,0x0c,0x01,0xfd,0xe1,0xfd,0xdf,0xf0,0x3f,0xe4,0x5e,0xc4,0x9c,
+0x8e,0x29,0x40,0xab,0x18,0xf0,0x28,0xc5,0x20,0x03,0x48,0x45,0x00,0x18,0xa4,0x22,
+0x81,0x89,0x48,0x69,0x80,0x52,0x66,0x80,0x13,0x34,0x66,0x80,0x3a,0x2b,0x4b,0x8f,
+0xb3,0xdc,0x47,0x27,0xf7,0x4e,0x4f,0xd2,0xad,0xf8,0x82,0x32,0x8c,0x1c,0x75,0xae,
+0x4e,0xa5,0xb2,0xdf,0x86,0xdb,0x75,0x94,0xd1,0xb1,0xca,0x9e,0x78,0x39,0xea,0x30,
+0x7f,0x95,0x62,0x6a,0x13,0xbb,0x6a,0x20,0xa4,0x8d,0x13,0x42,0x41,0x46,0x43,0x82,
+0x0f,0x5c,0xd6,0xa9,0xda,0xe3,0x82,0x52,0x9a,0x4c,0xd2,0xd1,0xa5,0x79,0xed,0x10,
+0xbb,0x97,0x29,0xfb,0xb0,0x4f,0xf7,0x46,0x00,0x1f,0x90,0xc5,0x69,0xc6,0xd8,0xcf,
+0xbd,0x55,0xef,0xa9,0x9c,0x95,0x9b,0x48,0xe4,0x35,0xfb,0x6f,0x23,0x55,0x94,0x81,
+0x85,0x93,0xe7,0x1f,0x8f,0x5f,0xd7,0x35,0xa5,0xe1,0x0f,0x08,0xaf,0x8a,0x1a,0x75,
+0x37,0x62,0xd9,0xa3,0x00,0xa8,0xf2,0xf7,0xee,0xf5,0xee,0x31,0x8c,0x8f,0xce,0xaf,
+0xa0,0x91,0xab,0x27,0xc2,0x7d,0x4c,0x4a,0x42,0x5c,0x59,0xb4,0x7d,0x99,0x9d,0xc1,
+0x3f,0x86,0xd3,0xfc,0xea,0xb5,0xef,0xc3,0x2d,0x66,0xd5,0x41,0x8e,0x38,0xae,0xc9,
+0xed,0x0c,0xa0,0x11,0xff,0x00,0x7d,0x6d,0xa1,0x79,0x81,0x55,0xfe,0x1f,0xeb,0x89,
+0x19,0x76,0xb0,0x6c,0x01,0x9c,0x09,0x10,0x9f,0xc8,0x35,0x67,0x0f,0x0d,0xea,0x8c,
+0x48,0x1a,0x65,0xef,0x1e,0xb6,0xce,0x3f,0xa5,0x03,0x29,0x4f,0x0b,0x5b,0x4c,0x62,
+0x95,0x4c,0x52,0x8e,0xa8,0xe3,0x0c,0x3f,0x0a,0x61,0x5a,0x6d,0x58,0x3c,0xc6,0xe2,
+0x90,0x8a,0x40,0x26,0x28,0x22,0x98,0x0d,0x22,0x92,0x80,0x36,0x95,0xab,0x52,0xe5,
+0xfe,0xd3,0xa5,0xa3,0x77,0x5c,0x29,0xfc,0x2b,0x94,0xb1,0x3c,0x3b,0x29,0x8e,0x77,
+0x42,0x4f,0xcc,0xa7,0x83,0x54,0xb5,0x9d,0x35,0xe7,0xbd,0x91,0xa3,0x46,0x25,0x89,
+0x20,0xa8,0xfd,0x0f,0x35,0xa2,0x64,0xb3,0x57,0x4f,0xb6,0x16,0x76,0xeb,0x10,0x39,
+0xda,0x39,0x3e,0xa6,0xad,0x03,0xc5,0x51,0x27,0x35,0xe2,0x4e,0x6f,0xd3,0xfe,0xb9,
+0x8f,0xe6,0x6b,0xa6,0xf8,0x52,0xea,0x9a,0x8c,0xa0,0xf5,0x68,0xd8,0x0f,0xcd,0x4f,
+0xf4,0xab,0xe8,0x08,0xf4,0xaa,0x8a,0xe2,0x41,0x6f,0x14,0x93,0x3b,0xb0,0x8d,0x10,
+0xb1,0x0a,0xb9,0xc0,0x1c,0x92,0x00,0x19,0x34,0x80,0xc8,0x5f,0x1c,0xe8,0xd2,0x49,
+0xe5,0xad,0xf0,0x56,0x3c,0x02,0xf1,0x38,0x5f,0xc4,0x90,0x07,0xeb,0x56,0xd3,0xc4,
+0x5a,0x6e,0x32,0xda,0x9d,0x91,0x18,0x1d,0x26,0x51,0xfd,0x69,0x8c,0x9a,0xdb,0x52,
+0x8a,0xff,0x00,0x2d,0x69,0x35,0xb5,0xcc,0x60,0xe3,0x74,0x73,0x06,0xfa,0xf4,0x06,
+0xa0,0xd5,0xb4,0xcb,0x39,0xdd,0x65,0x9b,0x48,0x8f,0x51,0x97,0xa6,0x7c,0xa8,0x99,
+0x87,0xe2,0xe4,0x50,0x92,0xe6,0xb3,0x63,0x69,0xa7,0xa9,0x9f,0xab,0x78,0x53,0x41,
+0x92,0x25,0x96,0xe3,0x4b,0x2b,0x8f,0xe1,0xb5,0x8d,0xc1,0xfc,0x44,0x55,0x8f,0xa8,
+0x78,0x23,0xc3,0xf7,0x16,0xe2,0x55,0x33,0xe9,0x68,0x3f,0x8a,0x57,0x31,0x67,0xfe,
+0xfe,0x03,0x4d,0x37,0x2d,0x09,0x7a,0x68,0x8c,0x8b,0x8f,0x01,0xd8,0x5d,0x44,0x5b,
+0x4f,0xbf,0x69,0x02,0x9c,0x17,0xdc,0xb2,0x8c,0xff,0x00,0xc0,0x71,0x5c,0xd6,0xb9,
+0xa2,0x49,0xa2,0x5c,0xac,0x6c,0xde,0x62,0x30,0xca,0xbe,0x31,0x9f,0x51,0x8f,0xf3,
+0xda,0x9b,0x56,0xd0,0x4a,0xf7,0xb3,0x33,0x69,0x0d,0x22,0x8d,0x58,0xe5,0x56,0xe8,
+0x6b,0x4e,0xc1,0xbc,0xcb,0x79,0xa2,0x27,0xb6,0xe1,0xfd,0x7f,0xa5,0x73,0xb4,0xd1,
+0x57,0xb8,0xba,0x74,0x9b,0x27,0x5e,0xdc,0xe2,0xad,0xc8,0x81,0xe4,0x27,0x2d,0xcf,
+0xa3,0x11,0x54,0x89,0x91,0x24,0x4b,0x82,0x7f,0xad,0x48,0x78,0x06,0xa8,0x93,0x9a,
+0xd7,0xce,0xeb,0xf1,0xec,0x80,0x7e,0xa6,0xb6,0xbe,0x1c,0xca,0xb1,0x6b,0xd0,0xee,
+0x38,0x1b,0xb0,0x33,0xea,0x55,0x80,0xaa,0x29,0x1e,0xb1,0x41,0x19,0x14,0x08,0xe2,
+0x35,0x4b,0x0b,0x79,0x25,0x96,0x49,0x21,0x8c,0xc8,0x01,0xe1,0x90,0x30,0xc8,0xfa,
+0x83,0x59,0xf7,0x3a,0x5d,0xad,0xf8,0xe2,0x28,0xe1,0x1b,0x41,0xc2,0x20,0x5e,0xa3,
+0xdb,0x15,0xaa,0x7d,0x4e,0x5e,0xa5,0x13,0xa4,0x58,0xfd,0x9c,0xe6,0x0c,0x48,0x33,
+0x92,0x1d,0x8f,0x23,0xea,0x6a,0x84,0xba,0x4c,0x31,0x32,0xb0,0x79,0x40,0x24,0x63,
+0x6b,0x01,0x8f,0xd2,0xa7,0x43,0x45,0x26,0x29,0xd4,0xb5,0x38,0xc0,0x11,0xea,0x57,
+0x88,0x83,0x8c,0x19,0xd8,0xe3,0xf0,0xc8,0xa9,0xad,0xbc,0x51,0xaa,0xd9,0x48,0xa5,
+0xaf,0xe4,0xb9,0x8d,0x58,0x16,0x8e,0x61,0xb8,0x30,0xee,0x32,0x72,0x47,0x1e,0x94,
+0x9e,0xc6,0x9c,0xda,0x59,0x9d,0x7b,0x5e,0xa4,0x32,0x2c,0xa1,0xc3,0x41,0x26,0x03,
+0x39,0x38,0x1b,0x4f,0x46,0xfc,0x09,0x07,0xe8,0x5b,0xd6,0xb1,0xbc,0x49,0x0c,0x1a,
+0xa5,0xb4,0xd6,0xfb,0x94,0x4d,0x1e,0x4a,0xee,0x38,0x21,0x87,0x6e,0x7f,0x2a,0x6c,
+0x47,0x9f,0x9a,0x69,0xa9,0x34,0x2e,0xa5,0xa9,0x53,0xc3,0x56,0x9e,0x9c,0xc6,0x29,
+0x94,0x13,0x90,0x46,0xd3,0x59,0xc9,0xdd,0x58,0x11,0x3c,0x31,0x11,0x34,0xac,0x01,
+0xe3,0xb8,0xab,0xa0,0xf3,0x49,0x09,0x92,0x46,0x73,0x9f,0xad,0x3d,0x8f,0x06,0xa8,
+0x0e,0x5f,0x5a,0x6c,0xea,0x32,0x7b,0x00,0x3f,0x4a,0xbf,0xe0,0xf9,0x96,0x3d,0x5a,
+0xdc,0xb9,0x01,0x44,0xd1,0xb1,0x27,0xb0,0x0d,0x54,0x34,0x7b,0x3d,0x14,0x08,0xe0,
+0xf5,0xa5,0x55,0xd6,0x6f,0x56,0x62,0x37,0x6e,0xca,0x82,0x7a,0x67,0x9f,0xea,0x2a,
+0x83,0xcc,0x24,0xda,0x32,0x54,0x6d,0xfe,0x13,0x8a,0xd3,0xa1,0x83,0xdc,0xaa,0xb3,
+0x04,0xf3,0x17,0x24,0xfc,0xd9,0xf5,0xeb,0x54,0xe7,0x72,0x61,0x3c,0xf4,0xed,0x52,
+0xc6,0x8a,0xcc,0xe4,0xee,0xda,0x78,0x3c,0xf2,0x2a,0x03,0x30,0x20,0x71,0x41,0x47,
+0x47,0xa2,0x5e,0x0b,0xbd,0x23,0xc9,0x66,0xcb,0x47,0x98,0x88,0xcf,0x3b,0x7b,0x1f,
+0xd7,0x1f,0x85,0x69,0x59,0x5c,0xc7,0x7f,0x09,0x49,0xed,0x6d,0x6e,0x64,0x53,0xb5,
+0xcd,0xd7,0xf1,0x11,0x80,0x70,0x48,0x3d,0x78,0x3f,0x89,0xa6,0x33,0x92,0xf1,0x9e,
+0x96,0xb6,0x57,0xa9,0x3c,0x56,0xf1,0xdb,0x43,0x30,0xe2,0x38,0x9c,0x32,0x86,0x18,
+0xce,0x30,0x06,0x07,0x23,0x8f,0x5c,0xd7,0x3e,0x6a,0x57,0x62,0xd6,0xc6,0x84,0x33,
+0x07,0xe8,0x6a,0xe5,0xbe,0x49,0xcd,0x43,0x03,0x52,0x01,0xf2,0x13,0xfd,0xee,0x69,
+0x41,0xa4,0xb6,0x13,0x24,0x8b,0x80,0x4f,0xa9,0xa7,0x96,0xf9,0x4d,0x50,0x1c,0xbe,
+0xae,0x73,0xa8,0xcd,0xf8,0x7f,0x21,0x4b,0xa5,0xb1,0x13,0x3e,0x0e,0x3e,0x43,0xfc,
+0xc5,0x32,0x8f,0x71,0x17,0xb1,0x9e,0xf5,0x24,0x73,0x24,0xd9,0xda,0x73,0x8a,0x76,
+0xd2,0xe2,0x38,0x8f,0x19,0x45,0xe5,0x6b,0x4e,0xcd,0x86,0xf3,0x11,0x59,0x78,0xe8,
+0x31,0x8f,0xe6,0x0d,0x73,0xf2,0xcc,0x92,0x7c,0xa4,0x0c,0x50,0x8c,0x9a,0xd4,0xae,
+0x25,0x54,0x62,0x17,0x8c,0xd4,0x12,0xc8,0x09,0x23,0x34,0xc0,0xae,0xec,0x3d,0x48,
+0xc7,0xbd,0x44,0xdc,0x77,0xa4,0x32,0xf6,0x85,0x76,0x6d,0xee,0xda,0x32,0x7e,0x49,
+0x57,0x18,0xcf,0x1b,0x87,0x20,0xff,0x00,0x31,0xf8,0xd5,0xeb,0x99,0x3c,0xb9,0x89,
+0xc9,0xc3,0x8c,0xfe,0x23,0xff,0x00,0xad,0x4c,0x0c,0xcd,0x4d,0x44,0xf6,0x84,0x01,
+0xca,0xfc,0xc3,0x15,0x84,0x7a,0xd0,0x5a,0x2c,0x40,0x3e,0x41,0x5b,0x16,0x29,0xfb,
+0xb5,0xcd,0x43,0x19,0xa4,0xbf,0x2c,0x78,0x14,0x80,0xf3,0x48,0x91,0xf1,0x1c,0xa5,
+0x38,0x9f,0x94,0xd3,0x19,0xcd,0x6a,0xff,0x00,0xf2,0x10,0x97,0xf0,0xfe,0x42,0x9b,
+0xa7,0xbe,0xdb,0x80,0x3f,0xbc,0x08,0xa6,0x51,0xe8,0x70,0x6a,0xa5,0xa0,0x43,0x9e,
+0xaa,0x0d,0x6b,0x78,0x6e,0xff,0x00,0xcf,0xbe,0x74,0x2d,0xc6,0xc2,0x70,0x4f,0x53,
+0x91,0xff,0x00,0xd7,0xaa,0x23,0xa9,0x2f,0x88,0xbc,0x30,0x35,0xab,0x85,0x98,0x5c,
+0x18,0x58,0x26,0xcc,0x79,0x7b,0x81,0xe4,0x91,0xdf,0xdc,0xd7,0x33,0x75,0xe0,0x7b,
+0xb8,0xa4,0x06,0x3b,0xab,0x52,0x3d,0x64,0x66,0x53,0xf9,0x6d,0x34,0x90,0x35,0x72,
+0xa9,0xf0,0x55,0xe2,0xe0,0xb5,0xd5,0x98,0xfa,0x3b,0x9f,0xfd,0x92,0xab,0xdc,0x78,
+0x3e,0xe5,0x3e,0x65,0xb9,0xb5,0x93,0xd9,0x59,0xb3,0xfa,0xa8,0xaa,0x5a,0xbd,0x49,
+0x7a,0x2d,0x0c,0xe9,0x74,0x1b,0xf0,0xf8,0xf2,0x32,0x3d,0x7c,0xc4,0x03,0xf5,0x34,
+0xcf,0xf8,0x47,0xaf,0x98,0x7f,0xab,0x8c,0x7d,0x67,0x8f,0xff,0x00,0x8a,0xa6,0xd2,
+0x4f,0x46,0x34,0x40,0xda,0x6d,0xdd,0xab,0x86,0xf2,0xc6,0xe5,0x3b,0x86,0xd7,0x0d,
+0xc8,0xfa,0x1a,0xd3,0xba,0x1b,0xe3,0x3c,0x60,0x8f,0x98,0x0c,0xe7,0x15,0x36,0x03,
+0x39,0x9f,0x06,0xb1,0xa7,0x4f,0x2e,0x66,0x5e,0xc0,0xf1,0x41,0x48,0x9e,0x11,0x85,
+0x5a,0xdc,0xb3,0x8f,0xe4,0x51,0xed,0x50,0xc6,0xcd,0x05,0x85,0x99,0x78,0x14,0xc3,
+0x64,0x01,0xdc,0x63,0x19,0xeb,0x9c,0x52,0xb9,0x04,0x8b,0x1e,0xd5,0x03,0xbf,0xa5,
+0x35,0xf8,0x06,0xa9,0x14,0x73,0x5a,0xb1,0xcd,0xfc,0xbf,0x87,0xf2,0x15,0x1d,0x8f,
+0x37,0x49,0xf8,0xff,0x00,0x2a,0x0a,0x3a,0x7b,0x7b,0x82,0x2d,0xe2,0x19,0xfe,0x11,
+0xfc,0xa9,0xe6,0xe4,0x8e,0xf4,0xc8,0x11,0xaf,0x58,0x0f,0xbe,0x40,0xfa,0xd4,0x62,
+0xfe,0x46,0xc6,0x19,0xbf,0x3a,0x96,0xc7,0x6b,0xea,0x1f,0xdb,0x17,0x76,0xe7,0xe4,
+0xb8,0x9d,0x4f,0xa2,0xb9,0x1f,0xd6,0x92,0x5d,0x7a,0xf4,0xaf,0xcd,0x79,0x72,0x7d,
+0x8c,0xad,0xfe,0x35,0x56,0xba,0xb8,0x6a,0x55,0x7d,0x4a,0x59,0x5b,0x2d,0x33,0xb1,
+0xf5,0x66,0x26,0x9b,0xfd,0xa3,0x2a,0x1c,0x6f,0xfc,0xc6,0x69,0x05,0xd8,0x36,0xa9,
+0x36,0x39,0x65,0xff,0x00,0xbe,0x17,0xfc,0x2a,0x26,0xbf,0x94,0x8c,0xee,0x1f,0xf7,
+0xc8,0xff,0x00,0x0a,0x12,0x48,0x9b,0x15,0xe5,0x94,0xca,0xe5,0x8e,0x32,0x7d,0x00,
+0x03,0xf2,0x15,0x42,0xfd,0x7e,0x65,0x6f,0xc2,0x98,0xd1,0x24,0x4b,0xd0,0x56,0x9d,
+0xae,0xa0,0xf0,0xde,0x6c,0xc2,0xbc,0x64,0x81,0xc8,0xe9,0x52,0xca,0x35,0x3f,0xb4,
+0x99,0x48,0xc9,0x54,0x1e,0xc2,0xb4,0xe0,0xd3,0xa6,0xbb,0x88,0x3f,0x9f,0x80,0x7f,
+0xba,0xb9,0x1f,0xcc,0x56,0x62,0x2b,0xea,0xda,0x65,0xc5,0x95,0xb1,0x97,0xcd,0x57,
+0x8c,0x75,0xca,0xe1,0xbf,0xcf,0xe3,0x59,0x16,0xd7,0x26,0x59,0x1d,0x49,0xc8,0x03,
+0x81,0x57,0x10,0x31,0x75,0x26,0xdd,0x7b,0x29,0xf7,0xa8,0x61,0x62,0xb2,0xa1,0x1f,
+0xde,0x15,0x45,0x23,0xa2,0x49,0x40,0x8d,0x39,0xec,0x29,0x0c,0xc3,0xd6,0xa1,0xb2,
+0x6c,0x3e,0xde,0xed,0xad,0xee,0x62,0x96,0x37,0x08,0xe8,0x72,0x18,0x9e,0x9c,0x11,
+0xdb,0xeb,0x5a,0x83,0xc4,0xf7,0x40,0xff,0x00,0xc7,0xcc,0x63,0xf1,0x6f,0xf0,0xa5,
+0x71,0xab,0xa1,0x47,0x89,0xee,0x14,0x93,0xf6,0xa8,0xf9,0x39,0xfe,0x3f,0xfe,0x26,
+0x9d,0xff,0x00,0x09,0x44,0xc7,0x04,0xde,0x45,0xc1,0xc8,0xce,0xff,0x00,0xfe,0x27,
+0xdc,0xd2,0x72,0x7d,0x07,0xaf,0x60,0x7f,0x14,0xca,0x7a,0xde,0x44,0xdf,0xf7,0xf3,
+0xff,0x00,0x89,0xaa,0xe7,0xc4,0x41,0x54,0x2e,0xe8,0x0a,0x8e,0x00,0xd8,0xdc,0x0f,
+0xfb,0xe6,0x97,0x34,0xbb,0x13,0xaf,0x62,0x16,0xd7,0xe2,0x27,0x26,0x28,0x09,0xff,
+0x00,0xae,0x7f,0xfd,0x6a,0xad,0x7f,0xab,0x43,0x79,0x6c,0xf1,0xf9,0x30,0xa1,0x3c,
+0x86,0x54,0xc1,0x07,0xf2,0xab,0x4e,0xe2,0xf9,0x18,0xc7,0x3e,0x95,0x1d,0xcc,0x4c,
+0xd0,0x31,0x2a,0x78,0xe7,0x38,0xab,0xb8,0xc0,0xff,0xd9,0x78,0xe7,0x38,0xab,0xb8,
+};
+
+#endif // BENCHMARK_DATA_H
--- a/benchmark_BaseJpegDecode.cpp	Mon Oct 22 14:10:04 2012 +0000
+++ b/benchmark_BaseJpegDecode.cpp	Thu Oct 25 11:02:17 2012 +0000
@@ -1,13 +1,11 @@
 #if 0
 #include "mbed.h"
 #include "BaseJpegDecode.h"
-#include <vector>
+#include "Benchmark_data.h"
 
 #define DBG(...) do{fprintf(stderr,"[%s@%d] ",__PRETTY_FUNCTION__,__LINE__);fprintf(stderr,__VA_ARGS__);} while(0);
 #define ASSERT(A) while(!(A)){fprintf(stderr,"\n\n%s@%d %s ASSERT!\n\n",__PRETTY_FUNCTION__,__LINE__,#A);exit(1);};
 
-LocalFileSystem local("local");
-DigitalOut myled(LED1);
 Serial pc(USBTX, USBRX);
 
 class JpegDecode : public BaseJpegDecode {
@@ -40,43 +38,56 @@
 {
 }
 
+JpegDecode* decode;
+
+void benchmark(uint8_t* image, int size)
+{
+    decode->DC_count = 0;
+    decode->AC_count = 0;
+#ifdef JPEG_USE_REPORT_CODE
+    decode->report_scan_count = 0;
+    decode->report_scan_dc_count = 0;
+    decode->report_scan_ac_count = 0;
+#endif
+    Timer t;
+    t.reset();
+    t.start();
+    decode->clear();    
+    for(int i = 0; i < size; i++) {
+        decode->input(image[i]);
+    }
+    t.stop();
+    
+    printf("%p %d bytes\n", image, size);
+    for(int tq = 0; tq < 2; tq++) {
+        printf("DQT(%d):", tq);
+        for(int i = 0; i < 64; i++) {
+            printf(" %d", decode->qt[tq][i]);
+        }
+        printf("\n");
+    }
+    printf("SOF0: width: %d height: %d yblocks: %d\n", decode->width, decode->height, decode->m_yblocks);
+    printf("Scan: DC: %d AC: %d\n", decode->DC_count, decode->AC_count);
+#ifdef JPEG_USE_REPORT_CODE
+    printf("report: scan_count: %d\n", decode->report_scan_count);
+    printf("report: scan_dc_count: %d\n", decode->report_scan_dc_count);
+    printf("report: scan_ac_count: %d\n", decode->report_scan_ac_count);
+#endif
+    printf("benchmark: %d ms\n", t.read_ms());
+}
+
 int main() {
     pc.baud(921600);
     printf("%s\n", __FILE__);
 
-    JpegDecode* decode = new JpegDecode;
+    decode = new JpegDecode;
     ASSERT(decode);
-    while(1) {
-        char path[128];
-        printf("JPEG file: ");
-        gets(path);
-        FILE* fp = fopen(path, "rb");
-        if (fp == NULL) {
-            printf("file open error %s\n", path);
-            continue;
-        }
-        vector<uint8_t> image;
-        while(1) {
-            int c = fgetc(fp);
-            if (c == EOF) {
-                break;
-            }
-            image.push_back(c);
-        }
-        fclose(fp);
-        printf("%s %d bytes\n", path, image.size());
-        decode->DC_count = 0;
-        decode->AC_count = 0;
-        Timer t;
-        t.reset();
-        t.start();
-        decode->clear();    
-        for(int i = 0; i < image.size(); i++) {
-            decode->input(image[i]);
-        }
-        t.stop();
-        printf("DC: %d AC: %d benchmark: %d ms\n", decode->DC_count, decode->AC_count, t.read_ms());
-    }     
+
+    benchmark(c270_cam0001_jpg, sizeof(c270_cam0001_jpg));
+    benchmark(vx700_cam0001_jpg, sizeof(vx700_cam0001_jpg));
+ 
+    printf("----\n");
+    exit(1);     
 }
 
-#endif
\ No newline at end of file
+#endif
--- a/example1_c270.cpp	Mon Oct 22 14:10:04 2012 +0000
+++ b/example1_c270.cpp	Thu Oct 25 11:02:17 2012 +0000
@@ -1,4 +1,4 @@
-#if 1
+#if 0
 //
 // simple color tracking
 //
@@ -9,7 +9,9 @@
 
 // Logitech C270
 #define WIDTH  320
-#define HEIGHT 176
+#define HEIGHT 240
+
+#define THRESHOLD 100
 
 #define ASSERT(A) while(!(A)){fprintf(stderr,"\n\n%s@%d %s ASSERT!\n\n",__PRETTY_FUNCTION__,__LINE__,#A);exit(1);};
 
@@ -20,14 +22,16 @@
 public:
     int y_center, x_center;
     int m_x_sum, m_y_sum, m_sum;
-    int8_t m_buf[WIDTH/16*HEIGHT/8];
+    int16_t m_buf[WIDTH/16*HEIGHT/8];
     virtual void outputDC(int mcu, int block, int value) {
         if (mcu >= (WIDTH/16*HEIGHT/8)) {
             return;
         }
         if (block == 3) { // 0-1:Y 2:Cb 3:Cr
+            value *= qt[1][0];
+            ASSERT(value < 32367 && value > -32368);
             m_buf[mcu] = value; // debug
-            if (value >= 3) { // red
+            if (value >= THRESHOLD) { // red
                 m_x_sum += value*(mcu%(WIDTH/16));
                 m_y_sum += value*(mcu/(WIDTH/16));
                 m_sum += value;
@@ -79,7 +83,7 @@
             term.locate(0, y);
             for(int x = 0; x < WIDTH/16; x++) {
                 int value = calc->m_buf[y*WIDTH/16+x];
-                if (value >= 3) {
+                if (value >= THRESHOLD) {
                     fg = 0xff0000; // red
                 } else {
                     fg = 0xffffff; // white
@@ -88,7 +92,7 @@
                     term.foreground(fg);
                     old_fg = fg;
                 }
-                term.printf("%+3d,", value);
+                term.printf("%+4d,", value);
                 cam->poll();
             }
         }
--- 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();
             }
         }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example4_c270.cpp	Thu Oct 25 11:02:17 2012 +0000
@@ -0,0 +1,103 @@
+#if 1
+//
+// dump YCrCb
+//      [Y0, Y1],
+//      (Cr, Cb),
+//
+#include "mbed.h"
+#include "BaseJpegDecode.h"
+#include "uvc.h"
+#include "Terminal.h"
+
+// Logitech C270
+#define WIDTH  160
+#define HEIGHT 120
+
+#define ASSERT(A) while(!(A)){fprintf(stderr,"\n\n%s@%d %s ASSERT!\n\n",__PRETTY_FUNCTION__,__LINE__,#A);exit(1);};
+
+DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);
+Terminal term(USBTX, USBRX);
+
+class Decode1 : public BaseJpegDecode {
+public:
+    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 * 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){};
+    virtual void outputMARK(uint8_t c){
+        if (c == 0xd9) { // EOI
+            led2 = !led2;
+        }
+    };
+};
+
+Decode1* decode = NULL;
+
+void callback_motion_jpeg(uint16_t frame, uint8_t* buf, int len)
+{
+    if (decode) {
+        decode->input(buf+12, len-12);
+    }
+    led1 = buf[1]&1; // FID
+}
+
+int main() {
+    term.baud(921600);
+    printf("%s\n", __FILE__);
+
+    decode = new Decode1;
+    ASSERT(decode);
+    uvc* cam = new uvc;
+    ASSERT(cam);
+    cam->SetImageSize(WIDTH, HEIGHT);
+    cam->SetFrameInterval(2000000); // 5.0fps
+    cam->setOnResult(callback_motion_jpeg);
+    ASSERT(cam->setup() >= 0);
+    term.cls();
+    while(1) {
+        int column = 0;
+        term.locate(0, column++);
+        term.printf("Y: qt:");
+        for(int i = 0; i < 16; i++) {
+            term.printf(" %d", decode->qt[0][i]);
+        }
+        term.printf("]");
+        for(int y = 0; y < HEIGHT/8; y++) {
+            term.locate(0, column++);
+            for(int x = 0; x < WIDTH/16; x++) {
+                int mcu = y*WIDTH/16+x;
+                term.printf("%+5d,%+5d,", decode->m_y0[mcu], decode->m_y1[mcu]);
+                cam->poll();
+            }
+        }
+        term.locate(0, column++);
+        term.printf("CbCr: [qt:");
+        for(int i = 0; i < 16; i++) {
+            term.printf(" %d", decode->qt[1][i]);
+        }
+        term.printf("]");
+        for(int y = 0; y < HEIGHT/8; y++) {
+            term.locate(0, column++);
+            for(int x = 0; x < WIDTH/16; x++) {
+                int mcu = y*WIDTH/16+x;
+                term.printf("%+5d,%+5d|", decode->m_cb[mcu], decode->m_cr[mcu]);
+                cam->poll();
+            }
+        }
+        cam->wait_ms(500);
+        led3 = !led3;
+    }
+}
+#endif