#include "jpeg.h"

#define PIXEL_ALIGNROUND(x,al)  (((x)+(al)-1)&(~((al)-1)))
#define PIXEL_ALIGNTRUNC(x,al)  (((x))&(~((al)-1)))

static DWORD alignto[4]={8,16,16,32};

/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:		none
*
* Note:			
*************************************************************************************
*/
void ssd1928_jpeg_init(void)
{
			SetRegB(REG_FRC_FRAME_CTL,0x00);	 	// Reg	 334h
			SetRegB(REG_FRC_ENABLE	,0x00);   		// Reg   336h
	
			SetRegB(REG_JPEG_RESIZER_CTL,0x00);	 	//	Reg  360h
	
			SetRegB(REG_JPEG_CTRL,0x00);	 		//	Reg  380h
	
			SetRegB(REG_JPEG_RAW_STATUS,0x00);	 	//	Reg  384h
	
			SetRegB(REG_JPEG_START_STOP,0x00);	 	//	Reg  38ah
	
			SetRegB(REG_JPEG_FIFO_SIZE,0x00);	 	//	Reg  3a4h
	
			SetRegB(REG_JPEG_ENCODE_SIZE_LIMIT_0		,0x00);	 //	Reg   3b0h	
			SetRegB(REG_JPEG_ENCODE_SIZE_LIMIT_1	   	,0x00);	 //	Reg   3b1h	
			SetRegB(REG_JPEG_ENCODE_SIZE_LIMIT_2	   	,0x00);	 //	Reg   3b2h	
	
			SetRegB(REG_JPEG_FILE_SIZE_0	   		,0x00);	 //	Reg   3b8h	
			SetRegB(REG_JPEG_FILE_SIZE_1	   		,0x00);	 //	Reg   3b9h	
			SetRegB(REG_JPEG_FILE_SIZE_2	   		,0x00);	 //	Reg   3bah	
	
			SetRegB(REG_JPEG_OP_MODE_ENC		   	,0x00);	 //	Reg   400h
	
			SetRegB(REG_JPEG_CMD,				0x80);	 //	Reg   402h
	
			SetRegB(REG_JPEG_DECODE_VALUE		,0x00);	 //	Reg   404h
	
			SetRegB(REG_JPEG_Y_PIXEL_SIZE_0	   ,0x00);	 //	Reg   40ch
			SetRegB(REG_JPEG_Y_PIXEL_SIZE_1	   ,0x00);	 //	Reg   40dh
			SetRegB(REG_JPEG_X_PIXEL_SIZE_0	   ,0x00);	 //	Reg   40eh
			SetRegB(REG_JPEG_X_PIXEL_SIZE_1	   ,0x00);	 //	Reg   40fh
	
			SetRegB(REG_JPEG_SRC_START_ADDR_0	   ,0x00);	 //	Reg   410h
			SetRegB(REG_JPEG_SRC_START_ADDR_1	   ,0x00);	 //	Reg   411h
			SetRegB(REG_JPEG_SRC_START_ADDR_2	   ,0x00);	 //	Reg   412h
			SetRegB(REG_JPEG_SRC_START_ADDR_3	   ,0x00);	 //	Reg   413h
	
			SetRegB(REG_JPEG_DEST_START_ADDR_0	   ,0x00);	 //	Reg   414h
			SetRegB(REG_JPEG_DEST_START_ADDR_1	   ,0x00);	 //	Reg   415h
			SetRegB(REG_JPEG_DEST_START_ADDR_2	   ,0x00);	 //	Reg   416h
			SetRegB(REG_JPEG_DEST_START_ADDR_3	   ,0x00);	 //	Reg   417h
	
			SetRegB(REG_JPEG_RST_MARKER_STATUS	   ,0x00);	 //	Reg   41eh
	
			SetRegB(REG_JPEG_INSERT_MARKER00	   ,0xff);	 //	Reg   420
			SetRegB(REG_JPEG_INSERT_MARKER01	   ,0xfe);	 //	Reg   422
	
			SetRegB(REG_JPEG_MARKER_LENGTH00	   ,0x00);	 //	Reg   424
			SetRegB(REG_JPEG_MARKER_LENGTH01	   ,0x22);	 //	Reg   426
	
			SetRegB(REG_JPEG_MARKER_DATA_00	   ,0x05);	 //	Reg   428
			SetRegB(REG_JPEG_MARKER_DATA_01	   ,0x06);	 //	Reg   42a
			SetRegB(REG_JPEG_MARKER_DATA_02	   ,0xff);	 //	Reg   42c
			SetRegB(REG_JPEG_MARKER_DATA_03	   ,0xff);	 //	Reg   42e
			SetRegB(REG_JPEG_MARKER_DATA_04	   ,0xff);	 //	Reg   430
			SetRegB(REG_JPEG_MARKER_DATA_05	   ,0xff);	 //	Reg   432
			SetRegB(REG_JPEG_MARKER_DATA_06	   ,0xff);	 //	Reg   434
			SetRegB(REG_JPEG_MARKER_DATA_07	   ,0xff);	 //	Reg   436
			SetRegB(REG_JPEG_MARKER_DATA_08	   ,0xff);	 //	Reg   438
			SetRegB(REG_JPEG_MARKER_DATA_09	   ,0xff);	 //	Reg   43a
			SetRegB(REG_JPEG_MARKER_DATA_10	   ,0xff);	 //	Reg   43c
			SetRegB(REG_JPEG_MARKER_DATA_11	   ,0xff);	 //	Reg   43e
			SetRegB(REG_JPEG_MARKER_DATA_12	   ,0xff);	 //	Reg   440
			SetRegB(REG_JPEG_MARKER_DATA_13	   ,0xff);	 //	Reg   442
			SetRegB(REG_JPEG_MARKER_DATA_14	   ,0xff);	 //	Reg   444
			SetRegB(REG_JPEG_MARKER_DATA_15	   ,0xff);	 //	Reg   446
			SetRegB(REG_JPEG_MARKER_DATA_16	   ,0xff);	 //	Reg   448
			SetRegB(REG_JPEG_MARKER_DATA_17	   ,0xff);	 //	Reg   44a
			SetRegB(REG_JPEG_MARKER_DATA_18	   ,0xff);	 //	Reg   44c
			SetRegB(REG_JPEG_MARKER_DATA_19	   ,0xff);	 //	Reg   44e
			SetRegB(REG_JPEG_MARKER_DATA_20	   ,0xff);	 //	Reg   450
			SetRegB(REG_JPEG_MARKER_DATA_21	   ,0xff);	 //	Reg   452
			SetRegB(REG_JPEG_MARKER_DATA_22	   ,0xff);	 //	Reg   454
			SetRegB(REG_JPEG_MARKER_DATA_23	   ,0xff);	 //	Reg   456
			SetRegB(REG_JPEG_MARKER_DATA_24	   ,0xff);	 //	Reg   458
			SetRegB(REG_JPEG_MARKER_DATA_25	   ,0xff);	 //	Reg   45a
			SetRegB(REG_JPEG_MARKER_DATA_26	   ,0xff);	 //	Reg   45c
			SetRegB(REG_JPEG_MARKER_DATA_27	   ,0xff);	 //	Reg   45e
			SetRegB(REG_JPEG_MARKER_DATA_28	   ,0xff);	 //	Reg   460
			SetRegB(REG_JPEG_MARKER_DATA_29	   ,0xff);	 //	Reg   462
			SetRegB(REG_JPEG_MARKER_DATA_30	   ,0x30);	 //	Reg   464
			SetRegB(REG_JPEG_MARKER_DATA_31	   ,0x31);	 //	Reg   466
	
			SetRegB(REG_JPEG_SOI_CONST_00		   ,0xff);	 //	Reg   468
			SetRegB(REG_JPEG_SOI_CONST_01		   ,0xd8);	 //	Reg   46a
	
			SetRegB(REG_JPEG_JFIF_CONST_00		   ,0xff);	 //	Reg   46c
			SetRegB(REG_JPEG_JFIF_CONST_01		   ,0xe0);	 //	Reg   46e
			SetRegB(REG_JPEG_JFIF_CONST_02		   ,0x00);	 //	Reg   470
			SetRegB(REG_JPEG_JFIF_CONST_03		   ,0x10);	 //	Reg   472
			SetRegB(REG_JPEG_JFIF_CONST_04		   ,0x4a);	 //	Reg   474
			SetRegB(REG_JPEG_JFIF_CONST_05		   ,0x46);	 //	Reg   476
			SetRegB(REG_JPEG_JFIF_CONST_06		   ,0x49);	 //	Reg   478
			SetRegB(REG_JPEG_JFIF_CONST_07		   ,0x46);	 //	Reg   47a
			SetRegB(REG_JPEG_JFIF_CONST_08		   ,0x00);	 //	Reg   47c
			SetRegB(REG_JPEG_JFIF_CONST_09		   ,0x01);	 //	Reg   47e
			SetRegB(REG_JPEG_JFIF_CONST_10		   ,0x02);	 //	Reg   480
			SetRegB(REG_JPEG_JFIF_CONST_11		   ,0x00);	 //	Reg   482
			SetRegB(REG_JPEG_JFIF_CONST_12		   ,0x00);	 //	Reg   484
			SetRegB(REG_JPEG_JFIF_CONST_13		   ,0x01);	 //	Reg   486
			SetRegB(REG_JPEG_JFIF_CONST_14		   ,0x00);	 //	Reg   488
			SetRegB(REG_JPEG_JFIF_CONST_15		   ,0x01);	 //	Reg   48a
			SetRegB(REG_JPEG_JFIF_CONST_16		   ,0x00);	 //	Reg   48c
			SetRegB(REG_JPEG_JFIF_CONST_17		   ,0x00);	 //	Reg   48e
	
			SetRegB(REG_JPEG_LUM_DC_HT_CONST_00	   ,0xff);	 //	Reg   490
			SetRegB(REG_JPEG_LUM_DC_HT_CONST_01	   ,0xc4);	 //	Reg   492
			SetRegB(REG_JPEG_LUM_DC_HT_CONST_02	   ,0x00);	 //	Reg   494
			SetRegB(REG_JPEG_LUM_DC_HT_CONST_03	   ,0x1f);	 //	Reg   496
			SetRegB(REG_JPEG_LUM_DC_HT_CONST_04	   ,0x00);	 //	Reg   498
	
			SetRegB(REG_JPEG_CHR_DC_HT_CONST_00	   ,0xff);	 //	Reg   4a0
			SetRegB(REG_JPEG_CHR_DC_HT_CONST_01	   ,0xc4);	 //	Reg   4a2
			SetRegB(REG_JPEG_CHR_DC_HT_CONST_02	   ,0x00);	 //	Reg   4a4
			SetRegB(REG_JPEG_CHR_DC_HT_CONST_03	   ,0x1f);	 //	Reg   4a6
			SetRegB(REG_JPEG_CHR_DC_HT_CONST_04	   ,0x01);	 //	Reg   4a8
	
			SetRegB(REG_JPEG_LUM_AC_HT_CONST_00	   ,0xff);	 //	Reg   4b0
			SetRegB(REG_JPEG_LUM_AC_HT_CONST_01	   ,0xc4);	 //	Reg   4b2
			SetRegB(REG_JPEG_LUM_AC_HT_CONST_02	   ,0x00);	 //	Reg   4b4
			SetRegB(REG_JPEG_LUM_AC_HT_CONST_03	   ,0xb5);	 //	Reg   4b6
			SetRegB(REG_JPEG_LUM_AC_HT_CONST_04	   ,0x10);	 //	Reg   4b8
	
			SetRegB(REG_JPEG_CHR_AC_HT_CONST_00	   ,0xff);	 //	Reg   4c0
			SetRegB(REG_JPEG_CHR_AC_HT_CONST_01	   ,0xc4);	 //	Reg   4c2
			SetRegB(REG_JPEG_CHR_AC_HT_CONST_02	   ,0x00);	 //	Reg   4c4
			SetRegB(REG_JPEG_CHR_AC_HT_CONST_03	   ,0xb5);	 //	Reg   4c6
			SetRegB(REG_JPEG_CHR_AC_HT_CONST_04	   ,0x11);	 //	Reg   4c8
	
			SetRegB(REG_JPEG_LUM_QT_CONST_00	   ,0xff);	 //	Reg   4d0
			SetRegB(REG_JPEG_LUM_QT_CONST_01	   ,0xdb);	 //	Reg   4d2
			SetRegB(REG_JPEG_LUM_QT_CONST_02	   ,0x00);	 //	Reg   4d4
			SetRegB(REG_JPEG_LUM_QT_CONST_03	   ,0x43);	 //	Reg   4d6
			SetRegB(REG_JPEG_LUM_QT_CONST_04	   ,0x00);	 //	Reg   4d8
	
			SetRegB(REG_JPEG_CHR_QT_CONST_00	   ,0xff);	 //	Reg   4e0
			SetRegB(REG_JPEG_CHR_QT_CONST_01	   ,0xdb);	 //	Reg   4e2
			SetRegB(REG_JPEG_CHR_QT_CONST_02	   ,0x00);	 //	Reg   4e4
			SetRegB(REG_JPEG_CHR_QT_CONST_03	   ,0x43);	 //	Reg   4e6
			SetRegB(REG_JPEG_CHR_QT_CONST_04	   ,0x01);	 //	Reg   4e8
	
			SetRegB(REG_JPEG_SOF_CONST_00   	   ,0xff);	 //	Reg   4f0
			SetRegB(REG_JPEG_SOF_CONST_01	   	   ,0xc0);	 //	Reg   4f2
			SetRegB(REG_JPEG_SOF_CONST_02	   	   ,0x00);	 //	Reg   4f4
			SetRegB(REG_JPEG_SOF_CONST_03	   	   ,0x11);	 //	Reg   4f6
			SetRegB(REG_JPEG_SOF_CONST_04	   	   ,0x08);	 //	Reg   4f8
	
			SetRegB(REG_JPEG_QUANT_T0_00		   ,0x10);	 //	Reg   500
			SetRegB(REG_JPEG_QUANT_T0_01		   ,0x0b);	 //	Reg   502
			SetRegB(REG_JPEG_QUANT_T0_02		   ,0x0c);	 //	Reg   504
			SetRegB(REG_JPEG_QUANT_T0_03		   ,0x0e);	 //	Reg   506
			SetRegB(REG_JPEG_QUANT_T0_04		   ,0x0c);	 //	Reg   508
			SetRegB(REG_JPEG_QUANT_T0_05		   ,0x0a);	 //	Reg   50a
			SetRegB(REG_JPEG_QUANT_T0_06		   ,0x10);	 //	Reg   50c
			SetRegB(REG_JPEG_QUANT_T0_07		   ,0x0e);	 //	Reg   50e
			SetRegB(REG_JPEG_QUANT_T0_08		   ,0x0d);	 //	Reg   510
			SetRegB(REG_JPEG_QUANT_T0_09		   ,0x0e);	 //	Reg   512
			SetRegB(REG_JPEG_QUANT_T0_10		   ,0x12);	 //	Reg   514
			SetRegB(REG_JPEG_QUANT_T0_11		   ,0x11);	 //	Reg   516
			SetRegB(REG_JPEG_QUANT_T0_12		   ,0x10);	 //	Reg   518
			SetRegB(REG_JPEG_QUANT_T0_13		   ,0x13);	 //	Reg   51a
			SetRegB(REG_JPEG_QUANT_T0_14		   ,0x18);	 //	Reg   51c
			SetRegB(REG_JPEG_QUANT_T0_15		   ,0x28);	 //	Reg   51e
			SetRegB(REG_JPEG_QUANT_T0_16		   ,0x1a);	 //	Reg   520
			SetRegB(REG_JPEG_QUANT_T0_17		   ,0x18);	 //	Reg   522
			SetRegB(REG_JPEG_QUANT_T0_18		   ,0x16);	 //	Reg   524
			SetRegB(REG_JPEG_QUANT_T0_19		   ,0x16);	 //	Reg   526
			SetRegB(REG_JPEG_QUANT_T0_20		   ,0x18);	 //	Reg   528
			SetRegB(REG_JPEG_QUANT_T0_21		   ,0x31);	 //	Reg   52a
			SetRegB(REG_JPEG_QUANT_T0_22		   ,0x23);	 //	Reg   52c
			SetRegB(REG_JPEG_QUANT_T0_23		   ,0x25);	 //	Reg   52e
			SetRegB(REG_JPEG_QUANT_T0_24		   ,0x1d);	 //	Reg   530
			SetRegB(REG_JPEG_QUANT_T0_25		   ,0x28);	 //	Reg   532
			SetRegB(REG_JPEG_QUANT_T0_26		   ,0x3a);	 //	Reg   534
			SetRegB(REG_JPEG_QUANT_T0_27		   ,0x33);	 //	Reg   536
			SetRegB(REG_JPEG_QUANT_T0_28		   ,0x3d);	 //	Reg   538
			SetRegB(REG_JPEG_QUANT_T0_29		   ,0x3c);	 //	Reg   53a
			SetRegB(REG_JPEG_QUANT_T0_30		   ,0x39);	 //	Reg   53c
			SetRegB(REG_JPEG_QUANT_T0_31		   ,0x33);	 //	Reg   53e
			SetRegB(REG_JPEG_QUANT_T0_32		   ,0x38);	 //	Reg   540
			SetRegB(REG_JPEG_QUANT_T0_33		   ,0x37);	 //	Reg   542
			SetRegB(REG_JPEG_QUANT_T0_34		   ,0x40);	 //	Reg   544
			SetRegB(REG_JPEG_QUANT_T0_35		   ,0x48);	 //	Reg   546
			SetRegB(REG_JPEG_QUANT_T0_36		   ,0x5c);	 //	Reg   548
			SetRegB(REG_JPEG_QUANT_T0_37		   ,0x4e);	 //	Reg   54a
			SetRegB(REG_JPEG_QUANT_T0_38		   ,0x40);	 //	Reg   54c
			SetRegB(REG_JPEG_QUANT_T0_39		   ,0x44);	 //	Reg   54e
			SetRegB(REG_JPEG_QUANT_T0_40		   ,0x57);	 //	Reg   550
			SetRegB(REG_JPEG_QUANT_T0_41		   ,0x45);	 //	Reg   552
			SetRegB(REG_JPEG_QUANT_T0_42		   ,0x37);	 //	Reg   554
			SetRegB(REG_JPEG_QUANT_T0_43		   ,0x38);	 //	Reg   556
			SetRegB(REG_JPEG_QUANT_T0_44		   ,0x50);	 //	Reg   558
			SetRegB(REG_JPEG_QUANT_T0_45		   ,0x6d);	 //	Reg   55a
			SetRegB(REG_JPEG_QUANT_T0_46		   ,0x51);	 //	Reg   55c
			SetRegB(REG_JPEG_QUANT_T0_47		   ,0x57);	 //	Reg   55e
			SetRegB(REG_JPEG_QUANT_T0_48		   ,0x5f);	 //	Reg   560
			SetRegB(REG_JPEG_QUANT_T0_49		   ,0x62);	 //	Reg   562
			SetRegB(REG_JPEG_QUANT_T0_50		   ,0x67);	 //	Reg   564
			SetRegB(REG_JPEG_QUANT_T0_51		   ,0x68);	 //	Reg   566
			SetRegB(REG_JPEG_QUANT_T0_52		   ,0x67);	 //	Reg   568
			SetRegB(REG_JPEG_QUANT_T0_53		   ,0x3e);	 //	Reg   56a
			SetRegB(REG_JPEG_QUANT_T0_54		   ,0x4d);	 //	Reg   56c
			SetRegB(REG_JPEG_QUANT_T0_55		   ,0x71);	 //	Reg   56e
			SetRegB(REG_JPEG_QUANT_T0_56		   ,0x79);	 //	Reg   570
			SetRegB(REG_JPEG_QUANT_T0_57		   ,0x70);	 //	Reg   572
			SetRegB(REG_JPEG_QUANT_T0_58		   ,0x64);	 //	Reg   574
			SetRegB(REG_JPEG_QUANT_T0_59		   ,0x78);	 //	Reg   576
			SetRegB(REG_JPEG_QUANT_T0_60		   ,0x5c);	 //	Reg   578
			SetRegB(REG_JPEG_QUANT_T0_61		   ,0x65);	 //	Reg   57a
			SetRegB(REG_JPEG_QUANT_T0_62		   ,0x67);	 //	Reg   57c
			SetRegB(REG_JPEG_QUANT_T0_63		   ,0x63);	 //	Reg   57e
	
			SetRegB(REG_JPEG_QUANT_T1_00		   ,0x11);	 //	Reg   580
			SetRegB(REG_JPEG_QUANT_T1_01		   ,0x12);	 //	Reg   582
			SetRegB(REG_JPEG_QUANT_T1_02		   ,0x12);	 //	Reg   584
			SetRegB(REG_JPEG_QUANT_T1_03		   ,0x18);	 //	Reg   586
			SetRegB(REG_JPEG_QUANT_T1_04		   ,0x15);	 //	Reg   588
			SetRegB(REG_JPEG_QUANT_T1_05		   ,0x18);	 //	Reg   58a
			SetRegB(REG_JPEG_QUANT_T1_06		   ,0x2f);	 //	Reg   58c
			SetRegB(REG_JPEG_QUANT_T1_07		   ,0x1a);	 //	Reg   58e
			SetRegB(REG_JPEG_QUANT_T1_08		   ,0x1a);	 //	Reg   590
			SetRegB(REG_JPEG_QUANT_T1_09		   ,0x2f);	 //	Reg   592
			SetRegB(REG_JPEG_QUANT_T1_10		   ,0x63);	 //	Reg   594
			SetRegB(REG_JPEG_QUANT_T1_11		   ,0x42);	 //	Reg   596
			SetRegB(REG_JPEG_QUANT_T1_12		   ,0x38);	 //	Reg   598
			SetRegB(REG_JPEG_QUANT_T1_13		   ,0x42);	 //	Reg   59a
			SetRegB(REG_JPEG_QUANT_T1_14		   ,0x63);	 //	Reg   59c
			SetRegB(REG_JPEG_QUANT_T1_15		   ,0x63);	 //	Reg   59e
			SetRegB(REG_JPEG_QUANT_T1_16		   ,0x63);	 //	Reg   5a0
			SetRegB(REG_JPEG_QUANT_T1_17		   ,0x63);	 //	Reg   5a2
			SetRegB(REG_JPEG_QUANT_T1_18		   ,0x63);	 //	Reg   5a4
			SetRegB(REG_JPEG_QUANT_T1_19		   ,0x63);	 //	Reg   5a6
			SetRegB(REG_JPEG_QUANT_T1_20		   ,0x63);	 //	Reg   5a8
			SetRegB(REG_JPEG_QUANT_T1_21		   ,0x63);	 //	Reg   5aa
			SetRegB(REG_JPEG_QUANT_T1_22		   ,0x63);	 //	Reg   5ac
			SetRegB(REG_JPEG_QUANT_T1_23		   ,0x63);	 //	Reg   5ae
			SetRegB(REG_JPEG_QUANT_T1_24		   ,0x63);	 //	Reg   5b0
			SetRegB(REG_JPEG_QUANT_T1_25		   ,0x63);	 //	Reg   5b2
			SetRegB(REG_JPEG_QUANT_T1_26		   ,0x63);	 //	Reg   5b4
			SetRegB(REG_JPEG_QUANT_T1_27		   ,0x63);	 //	Reg   5b6
			SetRegB(REG_JPEG_QUANT_T1_28		   ,0x63);	 //	Reg   5b8
			SetRegB(REG_JPEG_QUANT_T1_29		   ,0x63);	 //	Reg   5ba
			SetRegB(REG_JPEG_QUANT_T1_30		   ,0x63);	 //	Reg   5bc
			SetRegB(REG_JPEG_QUANT_T1_31		   ,0x63);	 //	Reg   5be
			SetRegB(REG_JPEG_QUANT_T1_32		   ,0x63);	 //	Reg   5c0
			SetRegB(REG_JPEG_QUANT_T1_33		   ,0x63);	 //	Reg   5c2
			SetRegB(REG_JPEG_QUANT_T1_34		   ,0x63);	 //	Reg   5c4
			SetRegB(REG_JPEG_QUANT_T1_35		   ,0x63);	 //	Reg   5c6
			SetRegB(REG_JPEG_QUANT_T1_36		   ,0x63);	 //	Reg   5c8
			SetRegB(REG_JPEG_QUANT_T1_37		   ,0x63);	 //	Reg   5ca
			SetRegB(REG_JPEG_QUANT_T1_38		   ,0x63);	 //	Reg   5cc
			SetRegB(REG_JPEG_QUANT_T1_39		   ,0x63);	 //	Reg   5ce
			SetRegB(REG_JPEG_QUANT_T1_40		   ,0x63);	 //	Reg   5d0
			SetRegB(REG_JPEG_QUANT_T1_41		   ,0x63);	 //	Reg   5d2
			SetRegB(REG_JPEG_QUANT_T1_42		   ,0x63);	 //	Reg   5d4
			SetRegB(REG_JPEG_QUANT_T1_43		   ,0x63);	 //	Reg   5d6
			SetRegB(REG_JPEG_QUANT_T1_44		   ,0x63);	 //	Reg   5d8
			SetRegB(REG_JPEG_QUANT_T1_45		   ,0x63);	 //	Reg   5da
			SetRegB(REG_JPEG_QUANT_T1_46		   ,0x63);	 //	Reg   5dc
			SetRegB(REG_JPEG_QUANT_T1_47		   ,0x63);	 //	Reg   5de
			SetRegB(REG_JPEG_QUANT_T1_48		   ,0x63);	 //	Reg   5e0
			SetRegB(REG_JPEG_QUANT_T1_49		   ,0x63);	 //	Reg   5e2
			SetRegB(REG_JPEG_QUANT_T1_50		   ,0x63);	 //	Reg   5e4
			SetRegB(REG_JPEG_QUANT_T1_51		   ,0x63);	 //	Reg   5e6
			SetRegB(REG_JPEG_QUANT_T1_52		   ,0x63);	 //	Reg   5e8
			SetRegB(REG_JPEG_QUANT_T1_53		   ,0x63);	 //	Reg   5ea
			SetRegB(REG_JPEG_QUANT_T1_54		   ,0x63);	 //	Reg   5ec
			SetRegB(REG_JPEG_QUANT_T1_55		   ,0x63);	 //	Reg   5ee
			SetRegB(REG_JPEG_QUANT_T1_56		   ,0x63);	 //	Reg   5f0
			SetRegB(REG_JPEG_QUANT_T1_57		   ,0x63);	 //	Reg   5f2
			SetRegB(REG_JPEG_QUANT_T1_58		   ,0x63);	 //	Reg   5f4
			SetRegB(REG_JPEG_QUANT_T1_59		   ,0x63);	 //	Reg   5f6
			SetRegB(REG_JPEG_QUANT_T1_60		   ,0x63);	 //	Reg   5f8
			SetRegB(REG_JPEG_QUANT_T1_61		   ,0x63);	 //	Reg   5fa
			SetRegB(REG_JPEG_QUANT_T1_62		   ,0x63);	 //	Reg   5fc
			SetRegB(REG_JPEG_QUANT_T1_63		   ,0x63);	 //	Reg   5fe
	
			SetRegB(REG_JPEG_DC_T0_R0_00		   ,0x00);	 //	Reg   600
			SetRegB(REG_JPEG_DC_T0_R0_01		   ,0x01);	 //	Reg   602
			SetRegB(REG_JPEG_DC_T0_R0_02		   ,0x05);	 //	Reg   604
			SetRegB(REG_JPEG_DC_T0_R0_03		   ,0x01);	 //	Reg   606
			SetRegB(REG_JPEG_DC_T0_R0_04		   ,0x01);	 //	Reg   608
			SetRegB(REG_JPEG_DC_T0_R0_05		   ,0x01);	 //	Reg   60a
			SetRegB(REG_JPEG_DC_T0_R0_06		   ,0x01);	 //	Reg   60c
			SetRegB(REG_JPEG_DC_T0_R0_07		   ,0x01);	 //	Reg   60e
			SetRegB(REG_JPEG_DC_T0_R0_08		   ,0x01);	 //	Reg   610
			SetRegB(REG_JPEG_DC_T0_R0_09		   ,0x00);	 //	Reg   612
			SetRegB(REG_JPEG_DC_T0_R0_10		   ,0x00);	 //	Reg   614
			SetRegB(REG_JPEG_DC_T0_R0_11		   ,0x00);	 //	Reg   616
			SetRegB(REG_JPEG_DC_T0_R0_12		   ,0x00);	 //	Reg   618
			SetRegB(REG_JPEG_DC_T0_R0_13		   ,0x00);	 //	Reg   61a
			SetRegB(REG_JPEG_DC_T0_R0_14		   ,0x00);	 //	Reg   61c
			SetRegB(REG_JPEG_DC_T0_R0_15		   ,0x00);	 //	Reg   61e
	
			SetRegB(REG_JPEG_DC_T0_R1_00		   ,0x00);	 //	Reg   620
			SetRegB(REG_JPEG_DC_T0_R1_01		   ,0x01);	 //	Reg   622
			SetRegB(REG_JPEG_DC_T0_R1_02		   ,0x02);	 //	Reg   624
			SetRegB(REG_JPEG_DC_T0_R1_03		   ,0x03);	 //	Reg   626
			SetRegB(REG_JPEG_DC_T0_R1_04		   ,0x04);	 //	Reg   628
			SetRegB(REG_JPEG_DC_T0_R1_05		   ,0x05);	 //	Reg   62a
			SetRegB(REG_JPEG_DC_T0_R1_06		   ,0x06);	 //	Reg   62c
			SetRegB(REG_JPEG_DC_T0_R1_07		   ,0x07);	 //	Reg   62e
			SetRegB(REG_JPEG_DC_T0_R1_08		   ,0x08);	 //	Reg   630
			SetRegB(REG_JPEG_DC_T0_R1_09		   ,0x09);	 //	Reg   632
			SetRegB(REG_JPEG_DC_T0_R1_10		   ,0x0a);	 //	Reg   634
			SetRegB(REG_JPEG_DC_T0_R1_11		   ,0x0b);	 //	Reg   636
	
			SetRegB(REG_JPEG_AC_T0_R0_00		   ,0x00);	 //	Reg   640
			SetRegB(REG_JPEG_AC_T0_R0_01		   ,0x02);	 //	Reg   642
			SetRegB(REG_JPEG_AC_T0_R0_02		   ,0x01);	 //	Reg   644
			SetRegB(REG_JPEG_AC_T0_R0_03		   ,0x03);	 //	Reg   646
			SetRegB(REG_JPEG_AC_T0_R0_04		   ,0x03);	 //	Reg   648
			SetRegB(REG_JPEG_AC_T0_R0_05		   ,0x02);	 //	Reg   64a
			SetRegB(REG_JPEG_AC_T0_R0_06		   ,0x04);	 //	Reg   64c
			SetRegB(REG_JPEG_AC_T0_R0_07		   ,0x03);	 //	Reg   64e
			SetRegB(REG_JPEG_AC_T0_R0_08		   ,0x05);	 //	Reg   650
			SetRegB(REG_JPEG_AC_T0_R0_09		   ,0x05);	 //	Reg   652
			SetRegB(REG_JPEG_AC_T0_R0_10		   ,0x04);	 //	Reg   654
			SetRegB(REG_JPEG_AC_T0_R0_11		   ,0x04);	 //	Reg   656
			SetRegB(REG_JPEG_AC_T0_R0_12		   ,0x00);	 //	Reg   658
			SetRegB(REG_JPEG_AC_T0_R0_13		   ,0x00);	 //	Reg   65a
			SetRegB(REG_JPEG_AC_T0_R0_14		   ,0x01);	 //	Reg   65c
			SetRegB(REG_JPEG_AC_T0_R0_15		   ,0x7d);	 //	Reg   65e
	
			SetRegB(REG_JPEG_AC_T0_R1_00		   ,0x01);	 //	Reg   660
			SetRegB(REG_JPEG_AC_T0_R1_01		   ,0x02);	 //	Reg   662
			SetRegB(REG_JPEG_AC_T0_R1_02		   ,0x03);	 //	Reg   664
			SetRegB(REG_JPEG_AC_T0_R1_03		   ,0x00);	 //	Reg   666
			SetRegB(REG_JPEG_AC_T0_R1_04		   ,0x04);	 //	Reg   668
			SetRegB(REG_JPEG_AC_T0_R1_05		   ,0x11);	 //	Reg   66a
			SetRegB(REG_JPEG_AC_T0_R1_06		   ,0x05);	 //	Reg   66c
			SetRegB(REG_JPEG_AC_T0_R1_07		   ,0x12);	 //	Reg   66e
			SetRegB(REG_JPEG_AC_T0_R1_08		   ,0x21);	 //	Reg   670
			SetRegB(REG_JPEG_AC_T0_R1_09		   ,0x31);	 //	Reg   672
			SetRegB(REG_JPEG_AC_T0_R1_10		   ,0x41);	 //	Reg   674
			SetRegB(REG_JPEG_AC_T0_R1_11		   ,0x06);	 //	Reg   676
			SetRegB(REG_JPEG_AC_T0_R1_12		   ,0x13);	 //	Reg   678
			SetRegB(REG_JPEG_AC_T0_R1_13		   ,0x51);	 //	Reg   67a
			SetRegB(REG_JPEG_AC_T0_R1_14		   ,0x61);	 //	Reg   67c
			SetRegB(REG_JPEG_AC_T0_R1_15		   ,0x07);	 //	Reg   67e
			SetRegB(REG_JPEG_AC_T0_R1_16		   ,0x22);	 //	Reg   680
			SetRegB(REG_JPEG_AC_T0_R1_17		   ,0x71);	 //	Reg   682
			SetRegB(REG_JPEG_AC_T0_R1_18		   ,0x14);	 //	Reg   684
			SetRegB(REG_JPEG_AC_T0_R1_19		   ,0x32);	 //	Reg   686
			SetRegB(REG_JPEG_AC_T0_R1_20		   ,0x81);	 //	Reg   688
			SetRegB(REG_JPEG_AC_T0_R1_21		   ,0x91);	 //	Reg   68a
			SetRegB(REG_JPEG_AC_T0_R1_22		   ,0xa1);	 //	Reg   68c
			SetRegB(REG_JPEG_AC_T0_R1_23		   ,0x08);	 //	Reg   68e
			SetRegB(REG_JPEG_AC_T0_R1_24		   ,0x23);	 //	Reg   690
			SetRegB(REG_JPEG_AC_T0_R1_25		   ,0x42);	 //	Reg   692
			SetRegB(REG_JPEG_AC_T0_R1_26		   ,0xb1);	 //	Reg   694
			SetRegB(REG_JPEG_AC_T0_R1_27		   ,0xc1);	 //	Reg   696
			SetRegB(REG_JPEG_AC_T0_R1_28		   ,0x15);	 //	Reg   698
			SetRegB(REG_JPEG_AC_T0_R1_29		   ,0x52);	 //	Reg   69a
			SetRegB(REG_JPEG_AC_T0_R1_30		   ,0xd1);	 //	Reg   69c
			SetRegB(REG_JPEG_AC_T0_R1_31		   ,0xf0);	 //	Reg   69e
			SetRegB(REG_JPEG_AC_T0_R1_32		   ,0x24);	 //	Reg   6a0
			SetRegB(REG_JPEG_AC_T0_R1_33		   ,0x33);	 //	Reg   6a2
			SetRegB(REG_JPEG_AC_T0_R1_34		   ,0x62);	 //	Reg   6a4
			SetRegB(REG_JPEG_AC_T0_R1_35		   ,0x72);	 //	Reg   6a6
			SetRegB(REG_JPEG_AC_T0_R1_36		   ,0x82);	 //	Reg   6a8
			SetRegB(REG_JPEG_AC_T0_R1_37		   ,0x09);	 //	Reg   6aa
			SetRegB(REG_JPEG_AC_T0_R1_38		   ,0x0a);	 //	Reg   6ac
			SetRegB(REG_JPEG_AC_T0_R1_39		   ,0x16);	 //	Reg   6ae
			SetRegB(REG_JPEG_AC_T0_R1_40		   ,0x17);	 //	Reg   6b0
			SetRegB(REG_JPEG_AC_T0_R1_41		   ,0x18);	 //	Reg   6b2
			SetRegB(REG_JPEG_AC_T0_R1_42		   ,0x19);	 //	Reg   6b4
			SetRegB(REG_JPEG_AC_T0_R1_43		   ,0x1a);	 //	Reg   6b6
			SetRegB(REG_JPEG_AC_T0_R1_44		   ,0x25);	 //	Reg   6b8
			SetRegB(REG_JPEG_AC_T0_R1_45		   ,0x26);	 //	Reg   6ba
			SetRegB(REG_JPEG_AC_T0_R1_46		   ,0x27);	 //	Reg   6bc
			SetRegB(REG_JPEG_AC_T0_R1_47		   ,0x28);	 //	Reg   6be
			SetRegB(REG_JPEG_AC_T0_R1_48		   ,0x29);	 //	Reg   6c0
			SetRegB(REG_JPEG_AC_T0_R1_49		   ,0x2a);	 //	Reg   6c2
			SetRegB(REG_JPEG_AC_T0_R1_50		   ,0x34);	 //	Reg   6c4
			SetRegB(REG_JPEG_AC_T0_R1_51		   ,0x35);	 //	Reg   6c6
			SetRegB(REG_JPEG_AC_T0_R1_52		   ,0x36);	 //	Reg   6c8
			SetRegB(REG_JPEG_AC_T0_R1_53		   ,0x37);	 //	Reg   6ca
			SetRegB(REG_JPEG_AC_T0_R1_54		   ,0x38);	 //	Reg   6cc
			SetRegB(REG_JPEG_AC_T0_R1_55		   ,0x39);	 //	Reg   6ce
			SetRegB(REG_JPEG_AC_T0_R1_56		   ,0x3a);	 //	Reg   6d0
			SetRegB(REG_JPEG_AC_T0_R1_57		   ,0x43);	 //	Reg   6d2
			SetRegB(REG_JPEG_AC_T0_R1_58		   ,0x44);	 //	Reg   6d4
			SetRegB(REG_JPEG_AC_T0_R1_59		   ,0x45);	 //	Reg   6d6
			SetRegB(REG_JPEG_AC_T0_R1_60		   ,0x46);	 //	Reg   6d8
			SetRegB(REG_JPEG_AC_T0_R1_61		   ,0x47);	 //	Reg   6da
			SetRegB(REG_JPEG_AC_T0_R1_62		   ,0x48);	 //	Reg   6dc
			SetRegB(REG_JPEG_AC_T0_R1_63		   ,0x49);	 //	Reg   6de
			SetRegB(REG_JPEG_AC_T0_R1_64		   ,0x4a);	 //	Reg   6e0
			SetRegB(REG_JPEG_AC_T0_R1_65		   ,0x53);	 //	Reg   6e2
			SetRegB(REG_JPEG_AC_T0_R1_66		   ,0x54);	 //	Reg   6e4
			SetRegB(REG_JPEG_AC_T0_R1_67		   ,0x55);	 //	Reg   6e6
			SetRegB(REG_JPEG_AC_T0_R1_68		   ,0x56);	 //	Reg   6e8
			SetRegB(REG_JPEG_AC_T0_R1_69		   ,0x57);	 //	Reg   6ea
			SetRegB(REG_JPEG_AC_T0_R1_70		   ,0x58);	 //	Reg   6ec
			SetRegB(REG_JPEG_AC_T0_R1_71		   ,0x59);	 //	Reg   6ee
			SetRegB(REG_JPEG_AC_T0_R1_72		   ,0x5a);	 //	Reg   6f0
			SetRegB(REG_JPEG_AC_T0_R1_73		   ,0x63);	 //	Reg   6f2
			SetRegB(REG_JPEG_AC_T0_R1_74		   ,0x64);	 //	Reg   6f4
			SetRegB(REG_JPEG_AC_T0_R1_75		   ,0x65);	 //	Reg   6f6
			SetRegB(REG_JPEG_AC_T0_R1_76		   ,0x66);	 //	Reg   6f8
			SetRegB(REG_JPEG_AC_T0_R1_77		   ,0x67);	 //	Reg   6fa
			SetRegB(REG_JPEG_AC_T0_R1_78		   ,0x68);	 //	Reg   6fc
			SetRegB(REG_JPEG_AC_T0_R1_79		   ,0x69);	 //	Reg   6fe
			SetRegB(REG_JPEG_AC_T0_R1_80		   ,0x6a);	 //	Reg   700
			SetRegB(REG_JPEG_AC_T0_R1_81		   ,0x73);	 //	Reg   702
			SetRegB(REG_JPEG_AC_T0_R1_82		   ,0x74);	 //	Reg   704
			SetRegB(REG_JPEG_AC_T0_R1_83		   ,0x75);	 //	Reg   706
			SetRegB(REG_JPEG_AC_T0_R1_84		   ,0x76);	 //	Reg   708
			SetRegB(REG_JPEG_AC_T0_R1_85		   ,0x77);	 //	Reg   70a
			SetRegB(REG_JPEG_AC_T0_R1_86		   ,0x78);	 //	Reg   70c
			SetRegB(REG_JPEG_AC_T0_R1_87		   ,0x79);	 //	Reg   70e
			SetRegB(REG_JPEG_AC_T0_R1_88		   ,0x7a);	 //	Reg   710
			SetRegB(REG_JPEG_AC_T0_R1_89		   ,0x83);	 //	Reg   712
			SetRegB(REG_JPEG_AC_T0_R1_90		   ,0x84);	 //	Reg   714
			SetRegB(REG_JPEG_AC_T0_R1_91		   ,0x85);	 //	Reg   716
			SetRegB(REG_JPEG_AC_T0_R1_92		   ,0x86);	 //	Reg   718
			SetRegB(REG_JPEG_AC_T0_R1_93		   ,0x87);	 //	Reg   71a
			SetRegB(REG_JPEG_AC_T0_R1_94		   ,0x88);	 //	Reg   71c
			SetRegB(REG_JPEG_AC_T0_R1_95		   ,0x89);	 //	Reg   71e
			SetRegB(REG_JPEG_AC_T0_R1_96		   ,0x8a);	 //	Reg   720
			SetRegB(REG_JPEG_AC_T0_R1_97		   ,0x92);	 //	Reg   722
			SetRegB(REG_JPEG_AC_T0_R1_98		   ,0x93);	 //	Reg   724
			SetRegB(REG_JPEG_AC_T0_R1_99		   ,0x94);	 //	Reg   726
			SetRegB(REG_JPEG_AC_T0_R1_100		   ,0x95);	 //	Reg   728
			SetRegB(REG_JPEG_AC_T0_R1_101		   ,0x96);	 //	Reg   72a
			SetRegB(REG_JPEG_AC_T0_R1_102		   ,0x97);	 //	Reg   72c
			SetRegB(REG_JPEG_AC_T0_R1_103		   ,0x98);	 //	Reg   72e
			SetRegB(REG_JPEG_AC_T0_R1_104		   ,0x99);	 //	Reg   730
			SetRegB(REG_JPEG_AC_T0_R1_105		   ,0x9a);	 //	Reg   732
			SetRegB(REG_JPEG_AC_T0_R1_106		   ,0xa2);	 //	Reg   734
			SetRegB(REG_JPEG_AC_T0_R1_107		   ,0xa3);	 //	Reg   736
			SetRegB(REG_JPEG_AC_T0_R1_108		   ,0xa4);	 //	Reg   738
			SetRegB(REG_JPEG_AC_T0_R1_109		   ,0xa5);	 //	Reg   73a
			SetRegB(REG_JPEG_AC_T0_R1_110		   ,0xa6);	 //	Reg   73c
			SetRegB(REG_JPEG_AC_T0_R1_111		   ,0xa7);	 //	Reg   73e
			SetRegB(REG_JPEG_AC_T0_R1_112		   ,0xa8);	 //	Reg   740
			SetRegB(REG_JPEG_AC_T0_R1_113		   ,0xa9);	 //	Reg   742
			SetRegB(REG_JPEG_AC_T0_R1_114		   ,0xaa);	 //	Reg   744
			SetRegB(REG_JPEG_AC_T0_R1_115		   ,0xb2);	 //	Reg   746
			SetRegB(REG_JPEG_AC_T0_R1_116		   ,0xb3);	 //	Reg   748
			SetRegB(REG_JPEG_AC_T0_R1_117		   ,0xb4);	 //	Reg   74a
			SetRegB(REG_JPEG_AC_T0_R1_118		   ,0xb5);	 //	Reg   74c
			SetRegB(REG_JPEG_AC_T0_R1_119		   ,0xb6);	 //	Reg   75e
			SetRegB(REG_JPEG_AC_T0_R1_120		   ,0xb7);	 //	Reg   750
			SetRegB(REG_JPEG_AC_T0_R1_121		   ,0xb8);	 //	Reg   752
			SetRegB(REG_JPEG_AC_T0_R1_122		   ,0xb9);	 //	Reg   754
			SetRegB(REG_JPEG_AC_T0_R1_123		   ,0xba);	 //	Reg   756
			SetRegB(REG_JPEG_AC_T0_R1_124		   ,0xc2);	 //	Reg   758
			SetRegB(REG_JPEG_AC_T0_R1_125		   ,0xc3);	 //	Reg   75a
			SetRegB(REG_JPEG_AC_T0_R1_126		   ,0xc4);	 //	Reg   75c
			SetRegB(REG_JPEG_AC_T0_R1_127		   ,0xc5);	 //	Reg   75e
			SetRegB(REG_JPEG_AC_T0_R1_128		   ,0xc6);	 //	Reg   760
			SetRegB(REG_JPEG_AC_T0_R1_129		   ,0xc7);	 //	Reg   762
			SetRegB(REG_JPEG_AC_T0_R1_130		   ,0xc8);	 //	Reg   764
			SetRegB(REG_JPEG_AC_T0_R1_131		   ,0xc9);	 //	Reg   766
			SetRegB(REG_JPEG_AC_T0_R1_132		   ,0xca);	 //	Reg   768
			SetRegB(REG_JPEG_AC_T0_R1_133		   ,0xd2);	 //	Reg   76a
			SetRegB(REG_JPEG_AC_T0_R1_134		   ,0xd3);	 //	Reg   76c
			SetRegB(REG_JPEG_AC_T0_R1_135		   ,0xd4);	 //	Reg   76e
			SetRegB(REG_JPEG_AC_T0_R1_136		   ,0xd5);	 //	Reg   770
			SetRegB(REG_JPEG_AC_T0_R1_137		   ,0xd6);	 //	Reg   772
			SetRegB(REG_JPEG_AC_T0_R1_138		   ,0xd7);	 //	Reg   774
			SetRegB(REG_JPEG_AC_T0_R1_139		   ,0xd8);	 //	Reg   776
			SetRegB(REG_JPEG_AC_T0_R1_140		   ,0xd9);	 //	Reg   778
			SetRegB(REG_JPEG_AC_T0_R1_141		   ,0xda);	 //	Reg   77a
			SetRegB(REG_JPEG_AC_T0_R1_142		   ,0xe1);	 //	Reg   77c
			SetRegB(REG_JPEG_AC_T0_R1_143		   ,0xe2);	 //	Reg   77e
			SetRegB(REG_JPEG_AC_T0_R1_144		   ,0xe3);	 //	Reg   780
			SetRegB(REG_JPEG_AC_T0_R1_145		   ,0xe4);	 //	Reg   782
			SetRegB(REG_JPEG_AC_T0_R1_146		   ,0xe5);	 //	Reg   784
			SetRegB(REG_JPEG_AC_T0_R1_147		   ,0xe6);	 //	Reg   786
			SetRegB(REG_JPEG_AC_T0_R1_148		   ,0xe7);	 //	Reg   788
			SetRegB(REG_JPEG_AC_T0_R1_149		   ,0xe8);	 //	Reg   78a
			SetRegB(REG_JPEG_AC_T0_R1_150		   ,0xe9);	 //	Reg   78c
			SetRegB(REG_JPEG_AC_T0_R1_151		   ,0xea);	 //	Reg   78e
			SetRegB(REG_JPEG_AC_T0_R1_152		   ,0xf1);	 //	Reg   790
			SetRegB(REG_JPEG_AC_T0_R1_153		   ,0xf2);	 //	Reg   792
			SetRegB(REG_JPEG_AC_T0_R1_154		   ,0xf3);	 //	Reg   794
			SetRegB(REG_JPEG_AC_T0_R1_155		   ,0xf4);	 //	Reg   796
			SetRegB(REG_JPEG_AC_T0_R1_156		   ,0xf5);	 //	Reg   798
			SetRegB(REG_JPEG_AC_T0_R1_157		   ,0xf6);	 //	Reg   79a
			SetRegB(REG_JPEG_AC_T0_R1_158		   ,0xf7);	 //	Reg   79c
			SetRegB(REG_JPEG_AC_T0_R1_159		   ,0xf8);	 //	Reg   79e
			SetRegB(REG_JPEG_AC_T0_R1_160		   ,0xf9);	 //	Reg   7a0
			SetRegB(REG_JPEG_AC_T0_R1_161		   ,0xfa);	 //	Reg   7a2
	
			SetRegB(REG_JPEG_DC_T1_R0_00		   ,0x00);	 //	Reg   800
			SetRegB(REG_JPEG_DC_T1_R0_01		   ,0x03);	 //	Reg   802
			SetRegB(REG_JPEG_DC_T1_R0_02		   ,0x01);	 //	Reg   804
			SetRegB(REG_JPEG_DC_T1_R0_03		   ,0x01);	 //	Reg   806
			SetRegB(REG_JPEG_DC_T1_R0_04		   ,0x01);	 //	Reg   808
			SetRegB(REG_JPEG_DC_T1_R0_05		   ,0x01);	 //	Reg   80a
			SetRegB(REG_JPEG_DC_T1_R0_06		   ,0x01);	 //	Reg   80c
			SetRegB(REG_JPEG_DC_T1_R0_07		   ,0x01);	 //	Reg   80e
			SetRegB(REG_JPEG_DC_T1_R0_08		   ,0x01);	 //	Reg   810
			SetRegB(REG_JPEG_DC_T1_R0_09		   ,0x01);	 //	Reg   812
			SetRegB(REG_JPEG_DC_T1_R0_10		   ,0x01);	 //	Reg   814
			SetRegB(REG_JPEG_DC_T1_R0_11		   ,0x00);	 //	Reg   816
			SetRegB(REG_JPEG_DC_T1_R0_12		   ,0x00);	 //	Reg   818
			SetRegB(REG_JPEG_DC_T1_R0_13		   ,0x00);	 //	Reg   81a
			SetRegB(REG_JPEG_DC_T1_R0_14		   ,0x00);	 //	Reg   81c
			SetRegB(REG_JPEG_DC_T1_R0_15		   ,0x00);	 //	Reg   81e
	
			SetRegB(REG_JPEG_DC_T1_R1_00		   ,0x00);	 //	Reg   820
			SetRegB(REG_JPEG_DC_T1_R1_01		   ,0x01);	 //	Reg   822
			SetRegB(REG_JPEG_DC_T1_R1_02		   ,0x02);	 //	Reg   824
			SetRegB(REG_JPEG_DC_T1_R1_03		   ,0x03);	 //	Reg   826
			SetRegB(REG_JPEG_DC_T1_R1_04		   ,0x04);	 //	Reg   828
			SetRegB(REG_JPEG_DC_T1_R1_05		   ,0x05);	 //	Reg   82a
			SetRegB(REG_JPEG_DC_T1_R1_06		   ,0x06);	 //	Reg   82c
			SetRegB(REG_JPEG_DC_T1_R1_07		   ,0x07);	 //	Reg   82e
			SetRegB(REG_JPEG_DC_T1_R1_08		   ,0x08);	 //	Reg   830
			SetRegB(REG_JPEG_DC_T1_R1_09		   ,0x09);	 //	Reg   832
			SetRegB(REG_JPEG_DC_T1_R1_10		   ,0x0a);	 //	Reg   834
			SetRegB(REG_JPEG_DC_T1_R1_11		   ,0x0b);	 //	Reg   836
	
			SetRegB(REG_JPEG_AC_T1_R0_00		   ,0x00);	 //	Reg   840
			SetRegB(REG_JPEG_AC_T1_R0_01		   ,0x02);	 //	Reg   842
			SetRegB(REG_JPEG_AC_T1_R0_02		   ,0x01);	 //	Reg   844
			SetRegB(REG_JPEG_AC_T1_R0_03		   ,0x02);	 //	Reg   846
			SetRegB(REG_JPEG_AC_T1_R0_04		   ,0x04);	 //	Reg   848
			SetRegB(REG_JPEG_AC_T1_R0_05		   ,0x04);	 //	Reg   84a
			SetRegB(REG_JPEG_AC_T1_R0_06		   ,0x03);	 //	Reg   84c
			SetRegB(REG_JPEG_AC_T1_R0_07		   ,0x04);	 //	Reg   84e
			SetRegB(REG_JPEG_AC_T1_R0_08		   ,0x07);	 //	Reg   850
			SetRegB(REG_JPEG_AC_T1_R0_09		   ,0x05);	 //	Reg   852
			SetRegB(REG_JPEG_AC_T1_R0_10		   ,0x04);	 //	Reg   854
			SetRegB(REG_JPEG_AC_T1_R0_11		   ,0x04);	 //	Reg   856
			SetRegB(REG_JPEG_AC_T1_R0_12		   ,0x00);	 //	Reg   858
			SetRegB(REG_JPEG_AC_T1_R0_13		   ,0x01);	 //	Reg   85a
			SetRegB(REG_JPEG_AC_T1_R0_14		   ,0x02);	 //	Reg   85c
			SetRegB(REG_JPEG_AC_T1_R0_15		   ,0x77);	 //	Reg   85e
	
			SetRegB(REG_JPEG_AC_T1_R1_00		   ,0x00);	 //	Reg   860
			SetRegB(REG_JPEG_AC_T1_R1_01		   ,0x01);	 //	Reg   862
			SetRegB(REG_JPEG_AC_T1_R1_02		   ,0x02);	 //	Reg   864
			SetRegB(REG_JPEG_AC_T1_R1_03		   ,0x03);	 //	Reg   866
			SetRegB(REG_JPEG_AC_T1_R1_04		   ,0x11);	 //	Reg   868
			SetRegB(REG_JPEG_AC_T1_R1_05		   ,0x04);	 //	Reg   86a
			SetRegB(REG_JPEG_AC_T1_R1_06		   ,0x05);	 //	Reg   86c
			SetRegB(REG_JPEG_AC_T1_R1_07		   ,0x21);	 //	Reg   86e
			SetRegB(REG_JPEG_AC_T1_R1_08		   ,0x31);	 //	Reg   870
			SetRegB(REG_JPEG_AC_T1_R1_09		   ,0x06);	 //	Reg   872
			SetRegB(REG_JPEG_AC_T1_R1_10		   ,0x12);	 //	Reg   874
			SetRegB(REG_JPEG_AC_T1_R1_11		   ,0x41);	 //	Reg   876
			SetRegB(REG_JPEG_AC_T1_R1_12		   ,0x51);	 //	Reg   878
			SetRegB(REG_JPEG_AC_T1_R1_13		   ,0x07);	 //	Reg   87a
			SetRegB(REG_JPEG_AC_T1_R1_14		   ,0x61);	 //	Reg   87c
			SetRegB(REG_JPEG_AC_T1_R1_15		   ,0x71);	 //	Reg   87e
			SetRegB(REG_JPEG_AC_T1_R1_16		   ,0x13);	 //	Reg   880
			SetRegB(REG_JPEG_AC_T1_R1_17		   ,0x22);	 //	Reg   882
			SetRegB(REG_JPEG_AC_T1_R1_18		   ,0x32);	 //	Reg   884
			SetRegB(REG_JPEG_AC_T1_R1_19		   ,0x81);	 //	Reg   886
			SetRegB(REG_JPEG_AC_T1_R1_20		   ,0x08);	 //	Reg   888
			SetRegB(REG_JPEG_AC_T1_R1_21		   ,0x14);	 //	Reg   88a
			SetRegB(REG_JPEG_AC_T1_R1_22		   ,0x42);	 //	Reg   88c
			SetRegB(REG_JPEG_AC_T1_R1_23		   ,0x91);	 //	Reg   88e
			SetRegB(REG_JPEG_AC_T1_R1_24		   ,0xa1);	 //	Reg   890
			SetRegB(REG_JPEG_AC_T1_R1_25		   ,0xb1);	 //	Reg   892
			SetRegB(REG_JPEG_AC_T1_R1_26		   ,0xc1);	 //	Reg   894
			SetRegB(REG_JPEG_AC_T1_R1_27		   ,0x09);	 //	Reg   896
			SetRegB(REG_JPEG_AC_T1_R1_28		   ,0x23);	 //	Reg   898
			SetRegB(REG_JPEG_AC_T1_R1_29		   ,0x33);	 //	Reg   89a
			SetRegB(REG_JPEG_AC_T1_R1_30		   ,0x52);	 //	Reg   89c
			SetRegB(REG_JPEG_AC_T1_R1_31		   ,0xf0);	 //	Reg   89e
			SetRegB(REG_JPEG_AC_T1_R1_32		   ,0x15);	 //	Reg   8a0
			SetRegB(REG_JPEG_AC_T1_R1_33		   ,0x62);	 //	Reg   8a2
			SetRegB(REG_JPEG_AC_T1_R1_34		   ,0x72);	 //	Reg   8a4
			SetRegB(REG_JPEG_AC_T1_R1_35		   ,0xd1);	 //	Reg   8a6
			SetRegB(REG_JPEG_AC_T1_R1_36		   ,0x0a);	 //	Reg   8a8
			SetRegB(REG_JPEG_AC_T1_R1_37		   ,0x16);	 //	Reg   8aa
			SetRegB(REG_JPEG_AC_T1_R1_38		   ,0x24);	 //	Reg   8ac
			SetRegB(REG_JPEG_AC_T1_R1_39		   ,0x34);	 //	Reg   8ae
			SetRegB(REG_JPEG_AC_T1_R1_40		   ,0xe1);	 //	Reg   8b0
			SetRegB(REG_JPEG_AC_T1_R1_41		   ,0x25);	 //	Reg   8b2
			SetRegB(REG_JPEG_AC_T1_R1_42		   ,0xf1);	 //	Reg   8b4
			SetRegB(REG_JPEG_AC_T1_R1_43		   ,0x17);	 //	Reg   8b6
			SetRegB(REG_JPEG_AC_T1_R1_44		   ,0x18);	 //	Reg   8b8
			SetRegB(REG_JPEG_AC_T1_R1_45		   ,0x19);	 //	Reg   8ba
			SetRegB(REG_JPEG_AC_T1_R1_46		   ,0x1a);	 //	Reg   8bc
			SetRegB(REG_JPEG_AC_T1_R1_47		   ,0x26);	 //	Reg   8be
			SetRegB(REG_JPEG_AC_T1_R1_48		   ,0x27);	 //	Reg   8c0
			SetRegB(REG_JPEG_AC_T1_R1_49		   ,0x28);	 //	Reg   8c2
			SetRegB(REG_JPEG_AC_T1_R1_50		   ,0x29);	 //	Reg   8c4
			SetRegB(REG_JPEG_AC_T1_R1_51		   ,0x2a);	 //	Reg   8c6
			SetRegB(REG_JPEG_AC_T1_R1_52		   ,0x35);	 //	Reg   8c8
			SetRegB(REG_JPEG_AC_T1_R1_53		   ,0x36);	 //	Reg   8ca
			SetRegB(REG_JPEG_AC_T1_R1_54		   ,0x37);	 //	Reg   8cc
			SetRegB(REG_JPEG_AC_T1_R1_55		   ,0x38);	 //	Reg   8ce
			SetRegB(REG_JPEG_AC_T1_R1_56		   ,0x39);	 //	Reg   8d0
			SetRegB(REG_JPEG_AC_T1_R1_57		   ,0x3a);	 //	Reg   8d2
			SetRegB(REG_JPEG_AC_T1_R1_58		   ,0x43);	 //	Reg   8d4
			SetRegB(REG_JPEG_AC_T1_R1_59		   ,0x44);	 //	Reg   8d6
			SetRegB(REG_JPEG_AC_T1_R1_60		   ,0x45);	 //	Reg   8d8
			SetRegB(REG_JPEG_AC_T1_R1_61		   ,0x46);	 //	Reg   8da
			SetRegB(REG_JPEG_AC_T1_R1_62		   ,0x47);	 //	Reg   8dc
			SetRegB(REG_JPEG_AC_T1_R1_63		   ,0x48);	 //	Reg   8de
			SetRegB(REG_JPEG_AC_T1_R1_64		   ,0x49);	 //	Reg   8e0
			SetRegB(REG_JPEG_AC_T1_R1_65		   ,0x4a);	 //	Reg   8e2
			SetRegB(REG_JPEG_AC_T1_R1_66		   ,0x53);	 //	Reg   8e4
			SetRegB(REG_JPEG_AC_T1_R1_67		   ,0x54);	 //	Reg   8e6
			SetRegB(REG_JPEG_AC_T1_R1_68		   ,0x55);	 //	Reg   8e8
			SetRegB(REG_JPEG_AC_T1_R1_69		   ,0x56);	 //	Reg   8ea
			SetRegB(REG_JPEG_AC_T1_R1_70		   ,0x57);	 //	Reg   8ec
			SetRegB(REG_JPEG_AC_T1_R1_71		   ,0x58);	 //	Reg   8ee
			SetRegB(REG_JPEG_AC_T1_R1_72		   ,0x59);	 //	Reg   8f0
			SetRegB(REG_JPEG_AC_T1_R1_73		   ,0x5a);	 //	Reg   8f2
			SetRegB(REG_JPEG_AC_T1_R1_74		   ,0x63);	 //	Reg   8f4
			SetRegB(REG_JPEG_AC_T1_R1_75		   ,0x64);	 //	Reg   8f6
			SetRegB(REG_JPEG_AC_T1_R1_76		   ,0x65);	 //	Reg   8f8
			SetRegB(REG_JPEG_AC_T1_R1_77		   ,0x66);	 //	Reg   8fa
			SetRegB(REG_JPEG_AC_T1_R1_78		   ,0x67);	 //	Reg   8fc
			SetRegB(REG_JPEG_AC_T1_R1_79		   ,0x68);	 //	Reg   8fe
			SetRegB(REG_JPEG_AC_T1_R1_80		   ,0x69);	 //	Reg   900
			SetRegB(REG_JPEG_AC_T1_R1_81		   ,0x6a);	 //	Reg   902
			SetRegB(REG_JPEG_AC_T1_R1_82		   ,0x73);	 //	Reg   904
			SetRegB(REG_JPEG_AC_T1_R1_83		   ,0x74);	 //	Reg   906
			SetRegB(REG_JPEG_AC_T1_R1_84		   ,0x75);	 //	Reg   908
			SetRegB(REG_JPEG_AC_T1_R1_85		   ,0x76);	 //	Reg   90a
			SetRegB(REG_JPEG_AC_T1_R1_86		   ,0x77);	 //	Reg   90c
			SetRegB(REG_JPEG_AC_T1_R1_87		   ,0x78);	 //	Reg   90e
			SetRegB(REG_JPEG_AC_T1_R1_88		   ,0x79);	 //	Reg   910
			SetRegB(REG_JPEG_AC_T1_R1_89		   ,0x7a);	 //	Reg   912
			SetRegB(REG_JPEG_AC_T1_R1_90		   ,0x82);	 //	Reg   914
			SetRegB(REG_JPEG_AC_T1_R1_91		   ,0x83);	 //	Reg   916
			SetRegB(REG_JPEG_AC_T1_R1_92		   ,0x84);	 //	Reg   918
			SetRegB(REG_JPEG_AC_T1_R1_93		   ,0x85);	 //	Reg   91a
			SetRegB(REG_JPEG_AC_T1_R1_94		   ,0x86);	 //	Reg   91c
			SetRegB(REG_JPEG_AC_T1_R1_95		   ,0x87);	 //	Reg   91e
			SetRegB(REG_JPEG_AC_T1_R1_96		   ,0x88);	 //	Reg   920
			SetRegB(REG_JPEG_AC_T1_R1_97		   ,0x89);	 //	Reg   922
			SetRegB(REG_JPEG_AC_T1_R1_98		   ,0x8a);	 //	Reg   924
			SetRegB(REG_JPEG_AC_T1_R1_99		   ,0x92);	 //	Reg   926
			SetRegB(REG_JPEG_AC_T1_R1_100		   ,0x93);	 //	Reg   928
			SetRegB(REG_JPEG_AC_T1_R1_101		   ,0x94);	 //	Reg   92a
			SetRegB(REG_JPEG_AC_T1_R1_102		   ,0x95);	 //	Reg   92c
			SetRegB(REG_JPEG_AC_T1_R1_103		   ,0x96);	 //	Reg   92e
			SetRegB(REG_JPEG_AC_T1_R1_104		   ,0x97);	 //	Reg   930
			SetRegB(REG_JPEG_AC_T1_R1_105		   ,0x98);	 //	Reg   932
			SetRegB(REG_JPEG_AC_T1_R1_106		   ,0x99);	 //	Reg   934
			SetRegB(REG_JPEG_AC_T1_R1_107		   ,0x9a);	 //	Reg   936
			SetRegB(REG_JPEG_AC_T1_R1_108		   ,0xa2);	 //	Reg   938
			SetRegB(REG_JPEG_AC_T1_R1_109		   ,0xa3);	 //	Reg   93a
			SetRegB(REG_JPEG_AC_T1_R1_110		   ,0xa4);	 //	Reg   93c
			SetRegB(REG_JPEG_AC_T1_R1_111		   ,0xa5);	 //	Reg   93e
			SetRegB(REG_JPEG_AC_T1_R1_112		   ,0xa6);	 //	Reg   940
			SetRegB(REG_JPEG_AC_T1_R1_113		   ,0xa7);	 //	Reg   942
			SetRegB(REG_JPEG_AC_T1_R1_114		   ,0xa8);	 //	Reg   944
			SetRegB(REG_JPEG_AC_T1_R1_115		   ,0xa9);	 //	Reg   946
			SetRegB(REG_JPEG_AC_T1_R1_116		   ,0xaa);	 //	Reg   948
			SetRegB(REG_JPEG_AC_T1_R1_117		   ,0xb2);	 //	Reg   94a
			SetRegB(REG_JPEG_AC_T1_R1_118		   ,0xb3);	 //	Reg   94c
			SetRegB(REG_JPEG_AC_T1_R1_119		   ,0xb4);	 //	Reg   95e
			SetRegB(REG_JPEG_AC_T1_R1_120		   ,0xb5);	 //	Reg   950
			SetRegB(REG_JPEG_AC_T1_R1_121		   ,0xb6);	 //	Reg   952
			SetRegB(REG_JPEG_AC_T1_R1_122		   ,0xb7);	 //	Reg   954
			SetRegB(REG_JPEG_AC_T1_R1_123		   ,0xb8);	 //	Reg   956
			SetRegB(REG_JPEG_AC_T1_R1_124		   ,0xb9);	 //	Reg   958
			SetRegB(REG_JPEG_AC_T1_R1_125		   ,0xba);	 //	Reg   95a
			SetRegB(REG_JPEG_AC_T1_R1_126		   ,0xc2);	 //	Reg   95c
			SetRegB(REG_JPEG_AC_T1_R1_127		   ,0xc3);	 //	Reg   95e
			SetRegB(REG_JPEG_AC_T1_R1_128		   ,0xc4);	 //	Reg   960
			SetRegB(REG_JPEG_AC_T1_R1_129		   ,0xc5);	 //	Reg   962
			SetRegB(REG_JPEG_AC_T1_R1_130		   ,0xc6);	 //	Reg   964
			SetRegB(REG_JPEG_AC_T1_R1_131		   ,0xc7);	 //	Reg   966
			SetRegB(REG_JPEG_AC_T1_R1_132		   ,0xc8);	 //	Reg   968
			SetRegB(REG_JPEG_AC_T1_R1_133		   ,0xc9);	 //	Reg   96a
			SetRegB(REG_JPEG_AC_T1_R1_134		   ,0xca);	 //	Reg   96c
			SetRegB(REG_JPEG_AC_T1_R1_135		   ,0xd2);	 //	Reg   96e
			SetRegB(REG_JPEG_AC_T1_R1_136		   ,0xd3);	 //	Reg   970
			SetRegB(REG_JPEG_AC_T1_R1_137		   ,0xd4);	 //	Reg   972
			SetRegB(REG_JPEG_AC_T1_R1_138		   ,0xd5);	 //	Reg   974
			SetRegB(REG_JPEG_AC_T1_R1_139		   ,0xd6);	 //	Reg   976
			SetRegB(REG_JPEG_AC_T1_R1_140		   ,0xd7);	 //	Reg   978
			SetRegB(REG_JPEG_AC_T1_R1_141		   ,0xd8);	 //	Reg   97a
			SetRegB(REG_JPEG_AC_T1_R1_142		   ,0xd9);	 //	Reg   97c
			SetRegB(REG_JPEG_AC_T1_R1_143		   ,0xda);	 //	Reg   97e
			SetRegB(REG_JPEG_AC_T1_R1_144		   ,0xe2);	 //	Reg   980
			SetRegB(REG_JPEG_AC_T1_R1_145		   ,0xe3);	 //	Reg   982
			SetRegB(REG_JPEG_AC_T1_R1_146		   ,0xe4);	 //	Reg   984
			SetRegB(REG_JPEG_AC_T1_R1_147		   ,0xe5);	 //	Reg   986
			SetRegB(REG_JPEG_AC_T1_R1_148		   ,0xe6);	 //	Reg   988
			SetRegB(REG_JPEG_AC_T1_R1_149		   ,0xe7);	 //	Reg   98a
			SetRegB(REG_JPEG_AC_T1_R1_150		   ,0xe8);	 //	Reg   98c
			SetRegB(REG_JPEG_AC_T1_R1_151		   ,0xe9);	 //	Reg   98e
			SetRegB(REG_JPEG_AC_T1_R1_152		   ,0xea);	 //	Reg   990
			SetRegB(REG_JPEG_AC_T1_R1_153		   ,0xf2);	 //	Reg   992
			SetRegB(REG_JPEG_AC_T1_R1_154		   ,0xf3);	 //	Reg   994
			SetRegB(REG_JPEG_AC_T1_R1_155		   ,0xf4);	 //	Reg   996
			SetRegB(REG_JPEG_AC_T1_R1_156		   ,0xf5);	 //	Reg   998
			SetRegB(REG_JPEG_AC_T1_R1_157		   ,0xf6);	 //	Reg   99a
			SetRegB(REG_JPEG_AC_T1_R1_158		   ,0xf7);	 //	Reg   99c
			SetRegB(REG_JPEG_AC_T1_R1_159		   ,0xf8);	 //	Reg   99e
			SetRegB(REG_JPEG_AC_T1_R1_160		   ,0xf9);	 //	Reg   9a0
			SetRegB(REG_JPEG_AC_T1_R1_161		   ,0xfa);	 //	Reg   9a2
	
			SetRegB(REG_JPEG_QTABLE_CONST_0	   ,0x03);	 //	Reg   9b0
			SetRegB(REG_JPEG_QTABLE_CONST_1	   ,0x01);	 //	Reg   9b2
			SetRegB(REG_JPEG_QTABLE_CONST_2	   ,0x02);	 //	Reg   9b4
			SetRegB(REG_JPEG_QTABLE_CONST_3	   ,0x03);	 //	Reg   9b6
	
			SetRegB(REG_JPEG_QTABLE0_SAMPLE	   ,0x21);	 //	Reg   9b8
			SetRegB(0x9ba					   ,0x00);
			SetRegB(REG_JPEG_QTABLE1_SAMPLE	   ,0x11);	 //	Reg   9bc
			SetRegB(0x9be					   ,0x01);
			SetRegB(REG_JPEG_QTABLE2_SAMPLE	   ,0x11);	 //	Reg   9c0
			SetRegB(0x9c2                      ,0x01);
	
			SetRegB(REG_JPEG_DRI_CONST_0		   ,0xff);	 //	Reg   9c4
			SetRegB(REG_JPEG_DRI_CONST_1		   ,0xdd);	 //	Reg   9c6
			SetRegB(REG_JPEG_DRI_CONST_2		   ,0x00);	 //	Reg   9c8
			SetRegB(REG_JPEG_DRI_CONST_3		   ,0x04);	 //	Reg   9ca
	
			SetRegB(REG_JPEG_SOS_CONST_0		   ,0xff);	 //	Reg   9cc
			SetRegB(REG_JPEG_SOS_CONST_1		   ,0xda);	 //	Reg   9ce
			SetRegB(REG_JPEG_SOS_CONST_2		   ,0x00);	 //	Reg   9d0
			SetRegB(REG_JPEG_SOS_CONST_3		   ,0x0c);	 //	Reg   9d2
			SetRegB(REG_JPEG_SOS_CONST_4		   ,0x03);	 //	Reg   9d4
			SetRegB(0x9d8                         ,0x01);
			SetRegB(0x9da                         ,0x00);
			SetRegB(0x9dc                         ,0x02);
			SetRegB(0x9de                         ,0x11);
			SetRegB(0x9e0                         ,0x03);
			SetRegB(0x9e2                         ,0x11);
	
			SetRegB(REG_JPEG_EOI_CONST_0		   ,0x00);	 //	Reg   9e4
			SetRegB(REG_JPEG_EOI_CONST_1		   ,0x3f);	 //	Reg   9e6
			SetRegB(REG_JPEG_EOI_CONST_2		   ,0x00);	 //	Reg   9e8
			SetRegB(REG_JPEG_EOI_CONST_3		   ,0xff);	 //	Reg   9ea
			SetRegB(REG_JPEG_EOI_CONST_4		   ,0xd9);	 //	Reg   9ec
}

/*
*************************************************************************************
* Function: 	Initialization of the JPEG Decode Procedure
*
* PreCondition: 
*
* Arguments:	Pointer to JPEG_DECODE structure
*				'JPEG_DECODE' *jpeg
* Return:		None
*
* Note:			
*************************************************************************************
*/
void ssd1928_jpeg_decode_prepare(JPEG_DECODE *jpeg)
{
	LONG i = 0;

	// Enable JPEG module and set 0<=Y,U,V<=255, REG_JPEG_CTRL==0x380
	SetRegB(REG_JPEG_CTRL,0x11);

	// Reset the jpeg module, REG_JPEG_CMD==0x402
	SetRegB(REG_JPEG_CMD,0x80);			
	DelayMs(1);
	SetRegB(REG_JPEG_CMD,0x00);	
	// Set JPEG code operation to decode mode (still jpeg), REG_JPEG_OP_MODE_ENC==0x400
	SetRegB(REG_JPEG_OP_MODE_ENC,0x04);	
	// Set RST marker setting for decode process continues even when an error is detected, REG_JPEG_RST_MARKER==0x41c
	SetRegB(REG_JPEG_RST_MARKER,0x02);	
	// Set JPEG line buffer starting address, REG_JPEG_SRC_START_ADDR_0==0x410
	SetRegL(REG_JPEG_SRC_START_ADDR_0,((DWORD)jpeg->raw_addr)>>2);
	// Set JPEG FIFO starting address, REG_JPEG_DEST_START_ADDR_0==0x414
	SetRegL(REG_JPEG_DEST_START_ADDR_0, ((DWORD)(jpeg->fifo_addr))>>2 );	

	// Set FIFO Size, REG_JPEG_FIFO_SIZE==0x3a4
	// JPEG FIFO Size Register at REG[3A4h] defines the amount of memory reserved for the JPEG FIFO
	// The max size of JPEG FIFO is 512KB in principle; however, there is only 256KB memory in ssd1928
	// Because JPEG FIFO size = (REG[3A4h] bits 6:0 + 1)*4*1024, therefore the min. FIFO block is 4k
	while((4*1024*i)<jpeg->fifo_size) i++;

	SetRegB(REG_JPEG_FIFO_SIZE,(BYTE)(i-1));

	// Set JPEG file size, REG_JPEG_FILE_SIZE_0==0x3b8
	// The JPEG file size registers must be set before the host begins writing decoded data to the JPEG FIFO
	SetRegL(REG_JPEG_FILE_SIZE_0,(DWORD)(jpeg->jpeg_file_size));

	// Clear all status of JPEG line buffer and FIFO, REG_JPEG_STATUS==0x382
	SetRegW(REG_JPEG_STATUS,0x0000);

	// Enable or disable required interrupts, REG[386h] - REG[387h]
	SetRegW(REG_JPEG_INTR_CTL0,0x0000);

	// Start JPEG operation, REG[402h] bit0=1
	SetRegB(REG_JPEG_CMD, 0x01);

	jpeg->stage=JPEG_DECODE_STAGE_INIT;	//state defined in jpeg.h
}

/*
*************************************************************************************
* Function: 	This function decode the header of a jpeg file stream
*
* PreCondition: calling ssd1928_jpeg_decode_prepare(JPEG_DECODE *jpeg) prior to this 
*				function
*
* Arguments:	Pointer to JPEG_DECODE structure
*				'JPEG_DECODE' *jpeg
*
* Return:		1,0,-1,-2 subject to decode result
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_header(JPEG_DECODE *jpeg)
{
	/* Fill in JPEG data until header is decoded */
    int trial=0;

    jpeg->stage=JPEG_DECODE_STAGE_HEADER;
	
	// Start decoding image, REG_JPEG_START_STOP==0x38a
	SetRegB(REG_JPEG_START_STOP,0x01);

    while( (trial++<jpeg->jpeg_buffer_size) || (jpeg->jpeg_buffer_ptr<jpeg->jpeg_buffer_size))	// if buffer pointer is not the end ?
    {
        if(GetReg(REG_JPEG_RAW_STATUS1)&0x20)		// REG_JPEG_RAW_STATUS1==0x385, test if JPEG decode marker has been read
        {
			jpeg->orig_width=GetRegW(REG_JPEG_DECODE_X_SIZE);	// REG_JPEG_DECODE_X_SIZE==0x3d8.
    		jpeg->orig_height=jpeg->resize_height=jpeg->clip_height=GetRegW(REG_JPEG_DECODE_Y_SIZE);	// REG_JPEG_DECODE_Y_SIZE 0x3dc.
			jpeg->op_mode=GetReg(REG_JPEG_OP_MODE);	// REG_JPEG_OP_MODE==0x401.	// read YUV Decode Format.
			SetRegB(REG_JPEG_RESIZER_CTL,0x0);		// REG_JPEG_RESIZER_CTL==0x360.	// View Resizer Disable.
			SetRegL(REG_JPEG_RESIZER_STARTX_0,0);	// REG_JPEG_RESIZER_STARTX_0==0x364.	// View Resizer Start X Position.
			SetRegL(REG_JPEG_RESIZER_STARTY_0,0);	// REG_JPEG_RESIZER_STARTY_0==0x366.	// View Resizer Start Y Position.
			SetRegL(REG_JPEG_RESIZER_ENDX_0,jpeg->orig_width-1);	// REG_JPEG_RESIZER_ENDX_0==0x368.
			SetRegL(REG_JPEG_RESIZER_ENDY_0,jpeg->orig_height-1);	// REG_JPEG_RESIZER_ENDY_0==0x36a.
    		SetRegB(REG_JPEG_RESIZER_OP_0,1);	// REG_JPEG_RESIZER_OP_0==0x36c.	// View Resizer Operation Setting.
			SetRegB(REG_JPEG_RESIZER_OP_1,2);	// REG_JPEG_RESIZER_OP_1==0x36e.	// View Resizer Operation Setting.
			jpeg->resize_width=jpeg->clip_width=PIXEL_ALIGNROUND(jpeg->orig_width, alignto[jpeg->op_mode]);
            
			if((jpeg->clip_width > (4096-32)) || (jpeg->clip_height>(4096-32)))
			{
				//jpg_dbg("JPEG: Width or height too large for decode\n");
				return -1;
			}
			jpeg->stage=JPEG_DECODE_STAGE_HEADER_COMPLETE;
			return 0;
		}

        if(GetReg(REG_JPEG_RAW_STATUS)&0x2)
			{
				int timeout=0;
			
            	while(!(GetReg(REG_JPEG_RAW_STATUS)&0x1) && (timeout<0x900)) timeout++;
				if(timeout>=0x900)
					return -2;
			}

		for(;jpeg->jpeg_buffer_ptr<jpeg->jpeg_buffer_size;)
		{
			#ifdef USE_8BIT_8080
			SetMemB((DWORD)jpeg->fifo_addr+jpeg->fifo_ptr, jpeg->jpeg_buffer[jpeg->jpeg_buffer_ptr]);
			#endif
        	jpeg->fifo_ptr=(jpeg->fifo_ptr+1)%(jpeg->fifo_size);	// ensure increase FIFO pointer is less than FIFO size.
	        jpeg->jpeg_buffer_ptr++; 								// increase buffer address.
			jpeg->temp_count++;	
			if(jpeg->fifo_ptr==0)									// if FIFO pointer achieve the FIFO size?
			break;
		}	

		//pad the end of the JPEG data stream with 8'h00s to complete the last 64-bit data for FIFO buffer
		for(;(jpeg->fifo_ptr&7)!=0&& jpeg->fifo_ptr<jpeg->fifo_size;jpeg->fifo_ptr++)
		{
			SetMemB((DWORD)(jpeg->fifo_addr+jpeg->fifo_ptr),0xff);	// set FIFO all memory to 0xff.
		}
	
	} //end of while loop where

	//it is the end of this function
	return 1;
}

/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_clip(JPEG_DECODE *jpeg)
{
	if(jpeg->clip_x1<0) jpeg->clip_x1=0;
	if(jpeg->clip_y1<0) jpeg->clip_y1=0;
	if(jpeg->clip_x2<0) jpeg->clip_x2=jpeg->orig_width-1;
	if(jpeg->clip_y2<0) jpeg->clip_y2=jpeg->orig_height-1;
	if(jpeg->clip_x1>=jpeg->orig_width) jpeg->clip_x1=jpeg->orig_width-1;
	if(jpeg->clip_x2>=jpeg->orig_width) jpeg->clip_x2=jpeg->orig_width-1;
	if(jpeg->clip_y1>=jpeg->orig_height) jpeg->clip_y1=jpeg->orig_height-1;
	if(jpeg->clip_y2>=jpeg->orig_height) jpeg->clip_y2=jpeg->orig_height-1;

	//jpg_dbg("JPEG CLIP:Bound check %x %x %x %x\n", jpeg->clip_x1, jpeg->clip_y1, jpeg->clip_x2, jpeg->clip_y2);

	jpeg->clip_x1=PIXEL_ALIGNTRUNC(jpeg->clip_x1,alignto[jpeg->op_mode]);
	jpeg->clip_y1=jpeg->clip_y1;
	jpeg->clip_x2=PIXEL_ALIGNROUND(jpeg->clip_x2,alignto[jpeg->op_mode])-1;
	if(jpeg->clip_x2>jpeg->orig_width-1)
	{
		jpeg->clip_x2-=alignto[jpeg->op_mode];
		jpeg->clip_x2=PIXEL_ALIGNROUND(jpeg->clip_x2,alignto[jpeg->op_mode])-1;
	}
	jpeg->clip_y2=jpeg->clip_y2;
	jpeg->clip_width=jpeg->clip_x2-jpeg->clip_x1+1;
	jpeg->clip_height=jpeg->clip_y2-jpeg->clip_y1+1;

	//jpg_dbg("JPEG CLIP:Alignment check %x %x %x %x\n", jpeg->clip_x1, jpeg->clip_y1, jpeg->clip_x2, jpeg->clip_y2);

	SetRegB(REG_JPEG_RESIZER_CTL,0x01);
	SetRegW(REG_JPEG_RESIZER_STARTX_0,jpeg->clip_x1);
	SetRegW(REG_JPEG_RESIZER_STARTY_0,jpeg->clip_y1);
	SetRegW(REG_JPEG_RESIZER_ENDX_0,jpeg->clip_x2);
	SetRegW(REG_JPEG_RESIZER_ENDY_0,jpeg->clip_y2);

	return 0;
}

/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_resize(JPEG_DECODE *jpeg)
{
	//jpg_dbg("\n\rresizing...\n\r");
	SetRegB(REG_JPEG_RESIZER_CTL,0x01);
	//Resize factor: 1 - no resize, 2 - 1/2, 4 - 1/4, 8 - 1/8
    SetRegB(REG_JPEG_RESIZER_OP_0,jpeg->resize_factor);
	SetRegB(REG_JPEG_RESIZER_OP_1,1<<jpeg->resize_method);
	jpeg->resize_width=jpeg->clip_width/(jpeg->resize_factor);
	jpeg->resize_height=jpeg->clip_height/(jpeg->resize_factor);

	jpeg->resize_width=PIXEL_ALIGNROUND(jpeg->resize_width, 4);
	jpeg->resize_height=PIXEL_ALIGNROUND(jpeg->resize_height, 4);

	//jpg_dbg("JPEG RESIZE: Resize width %d height %d\n", jpeg->resize_width, jpeg->resize_height);

	return 0;
}

/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_start(JPEG_DECODE *jpeg)
{
	SetRegL(REG_JPEG_SRC_START_ADDR_0,((DWORD)jpeg->raw_addr)>>2);
	SetRegB(REG_JPEG_START_STOP,0x01);	// REG_JPEG_START_STOP==0x38a.
	jpeg->stage=JPEG_DECODE_STAGE_BODY;

	return 0;
}


/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_wait(JPEG_DECODE *jpeg)
{
	LONG timeout=0;

	for(;(jpeg->fifo_ptr&7)!=0&& jpeg->fifo_ptr<jpeg->fifo_size;jpeg->fifo_ptr++)
	{
		SetMemB(jpeg->fifo_addr+jpeg->fifo_ptr,0xFF);	// set FIFO all memory to 0xff.
	}
	while(GetReg(REG_JPEG_RAW_STATUS1)!=0x22)// REG_JPEG_RAW_STATUS1==0x385.	
	{	// wait until decode finish && JPEG maker hasn't been read && JPEG Codec generate interrupt.
		timeout++;
		if(timeout>90000)
		{
			//jpg_dbg("JPEG:Decode Timeout\n");
			return -1;
		}
	}

	jpeg->stage=JPEG_DECODE_STAGE_BODY_COMPLETE;
	return 0;
}

/*
*************************************************************************************
* Function: 
*
* PreCondition: 
*
* Arguments:	
*
* Return:
*
* Note:			
*************************************************************************************
*/
LONG ssd1928_jpeg_decode_stop(void)
{
    SetRegB(REG_JPEG_CTRL,0x10);				//0x380	is the JPEG module is disabled and the clock source is disabled.
    SetRegB(REG_JPEG_CMD,0x00);					//0x402	controls No JPEG SW reset, No JPEG Start Operation.
    SetRegB(REG_JPEG_START_STOP,0x00);			//0x38a YUV data capturing stops at the end of the current frame.

    return 0;

}
