Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

630 lines
31 KiB

/* *************************************************************************
** INTEL Corporation Proprietary Information
**
** This listing is supplied under the terms of a license
** agreement with INTEL Corporation and may not be copied
** nor disclosed except in accordance with the terms of
** that agreement.
**
** Copyright (c) 1995 Intel Corporation.
** All Rights Reserved.
**
** *************************************************************************
*/
//////////////////////////////////////////////////////////////////////////
// $Author: AGUPTA2 $
// $Date: 08 Mar 1996 16:46:30 $
// $Archive: S:\h26x\src\dec\d3tables.cpv $
// $Header: S:\h26x\src\dec\d3tables.cpv 1.10 08 Mar 1996 16:46:30 AGUPTA2 $
// $Log: S:\h26x\src\dec\d3tables.cpv $
//
// Rev 1.10 08 Mar 1996 16:46:30 AGUPTA2
// Removed tables gTAB_MCBPC_INTRA, gTAB_MCBPC_INTER, gTAB_CBPY_INTRA, and
// gTAB_CBPY_INTER. Added pragma data_seg to put all the tables in the Pass 1
// data segment.
//
//
// Rev 1.9 27 Dec 1995 14:36:08 RMCKENZX
// Added copyright notice
//
// Rev 1.8 08 Oct 1995 13:41:58 CZHU
//
// Fixed zz-run table with two wrong entries,
//
// Rev 1.7 18 Sep 1995 08:40:28 CZHU
// Fixed bugs with table entries for negative val
//
// Rev 1.6 07 Sep 1995 09:46:40 CZHU
// fixed one bug in TCOEFF minor table
//
// Rev 1.5 31 Aug 1995 16:42:48 CZHU
// Changed the format of MVD variable length decoder tables: major and minor
//
// Rev 1.4 24 Aug 1995 15:34:28 CZHU
// Fixed bugs in the inverse quant table, and TCOEFF minor tables
//
// Rev 1.3 22 Aug 1995 17:39:00 CZHU
//
// Modified the TCOEFF_MAJOR and MINOR tables for embedded run values.
//
// Rev 1.2 18 Aug 1995 15:01:00 CZHU
// Added run length tables ready for joint opt IDCT and RLD+ZZ
//
// Rev 1.1 16 Aug 1995 14:25:10 CZHU
//
// Rebuild the tables for IQ, RLD for Transform coefficients
//
// Rev 1.0 11 Aug 1995 15:50:56 CZHU
// Initial revision.
;//
;// Rev 1.1 02 Aug 1995 11:47:04 CZHU
;//
;// Added table for inverse quantization and RLD-ZZ
;//
;// Rev 1.0 31 Jul 1995 15:46:20 CZHU
;// Initial revision.
//Initialize global tables shared by all decoder instances:
//Huffman tables, etc
//declare the global static tables here
#include "precomp.h"
/*
U16 gTAB_MCBPC_INTRA[512]= {
0x0,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01
}; //total 1024
U16 gTAB_MCBPC_INTER[512]={
0x0,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xd08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1109,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1309,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xb08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xe08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1409,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xd08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x709,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1209,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xb08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xe08,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
0x1,0x803,0x1,0x104,0x1,0x403,0x1
}; //total 1024
U16 gTAB_CBPY_INTRA[64]={
0x0, 0xd04,0xc04,0xf02,0x205,0xb04,0xe04,0xf02,
0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
0x606,0xd04,0xc04,0xf02,0x105,0xb04,0xe04,0xf02,
0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
0x0, 0xd04,0xc04,0xf02,0x205,0xb04,0xe04,0xf02,
0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
0x906,0xd04,0xc04,0xf02,0x105,0xb04,0xe04,0xf02,
0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02
}; //total 128
U16 gTAB_CBPY_INTER[64]={
0x0, 0x204,0x304,0x2,0xd05,0x404,0x104,0x2,
0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
0x906,0x204,0x304,0x2,0xe05,0x404,0x104,0x2,
0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
0x0, 0x204,0x304,0x2,0xd05,0x404,0x104,0x2,
0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
0x606,0x204,0x304,0x2,0xe05,0x404,0x104,0x2,
0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2
}; //total 128
*/
#pragma data_seg("IADATA1")
U16 gTAB_MVD_MAJOR[256]={
0x0,
0x0,0x0,0x0,0x0,0x0,0x708,0xf908,0x608,
0xfa08,0x508,0xfb08,0x407,0x407,0xfc07,0xfc07,0x305,
0x305,0x305,0x305,0x305,0x305,0x305,0x305,0xfd05,
0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0x204,
0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,
0x204,0x204,0x204,0x204,0x204,0x204,0x204,0xfe04,
0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,
0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0x103,
0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
0x103,0x103,0x103,0x103,0x103,0x103,0x103,0xff03,
0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
0x1,0x1,0x1,0x1,0x1,0x1,0x1
}; //total 512
U16 gTAB_MVD_MINOR[256]={
0x0,
0x0,0x0,0x0,0x0,0xe00d,0x1f0d,0xe10d,0x1e0c,
0x1e0c,0xe20c,0xe20c,0x1d0c,0x1d0c,0xe30c,0xe30c,0x1c0c,
0x1c0c,0xe40c,0xe40c,0x1b0c,0x1b0c,0xe50c,0xe50c,0x1a0c,
0x1a0c,0xe60c,0xe60c,0x190c,0x190c,0xe70c,0xe70c,0x180b,
0x180b,0x180b,0x180b,0xe80b,0xe80b,0xe80b,0xe80b,0x170b,
0x170b,0x170b,0x170b,0xe90b,0xe90b,0xe90b,0xe90b,0x160b,
0x160b,0x160b,0x160b,0xea0b,0xea0b,0xea0b,0xea0b,0x150b,
0x150b,0x150b,0x150b,0xeb0b,0xeb0b,0xeb0b,0xeb0b,0x140b,
0x140b,0x140b,0x140b,0xec0b,0xec0b,0xec0b,0xec0b,0x130b,
0x130b,0x130b,0x130b,0xed0b,0xed0b,0xed0b,0xed0b,0x120b,
0x120b,0x120b,0x120b,0xee0b,0xee0b,0xee0b,0xee0b,0x110b,
0x110b,0x110b,0x110b,0xef0b,0xef0b,0xef0b,0xef0b,0x100b,
0x100b,0x100b,0x100b,0xf00b,0xf00b,0xf00b,0xf00b,0xf0b,
0xf0b,0xf0b,0xf0b,0xf10b,0xf10b,0xf10b,0xf10b,0xe0b,
0xe0b,0xe0b,0xe0b,0xf20b,0xf20b,0xf20b,0xf20b,0xd0b,
0xd0b,0xd0b,0xd0b,0xf30b,0xf30b,0xf30b,0xf30b,0xc0b,
0xc0b,0xc0b,0xc0b,0xf40b,0xf40b,0xf40b,0xf40b,0xb0b,
0xb0b,0xb0b,0xb0b,0xf50b,0xf50b,0xf50b,0xf50b,0xa0a,
0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xf60a,
0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0x90a,
0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0xf70a,
0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0x80a,
0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0xf80a,
0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xc0b,
0xc0b,0xc0b,0xc0b,0xf40b,0xf40b,0xf40b,0xf40b,0xb0b,
0xb0b,0xb0b,0xb0b,0xf50b,0xf50b,0xf50b,0xf50b,0xa0a,
0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xf60a,
0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0x90a,
0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0xf70a,
0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0x80a,
0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0xf80a,
0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a
}; //total 512
U32 gTAB_TCOEFF_MAJOR[256]={
0x3,
0x3,0x3,0x3,0x3,0x3,0x1,0x1,0x3,
0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x3,
0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x3,
0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x221204,
0x221206,0x221004,0x221006,0x220e04,0x220e06,0x220c04,0x220c06,0x201a04,
0x201a06,0x201804,0x201806,0x201604,0x201606,0x200210,0x200212,0x1e0a04,
0x1e0a04,0x1e0a06,0x1e0a06,0x1e0804,0x1e0804,0x1e0806,0x1e0806,0x1e0604,
0x1e0604,0x1e0606,0x1e0606,0x1e0404,0x1e0404,0x1e0406,0x1e0406,0x1c1404,
0x1c1404,0x1c1406,0x1c1406,0x1c1204,0x1c1204,0x1c1206,0x1c1206,0x1c1004,
0x1c1004,0x1c1006,0x1c1006,0x1c0e04,0x1c0e04,0x1c0e06,0x1c0e06,0x1c0408,
0x1c0408,0x1c040a,0x1c040a,0x1c020c,0x1c020c,0x1c020e,0x1c020e,0x180c04,
0x180c04,0x180c04,0x180c04,0x180c06,0x180c06,0x180c06,0x180c06,0x180a04,
0x180a04,0x180a04,0x180a04,0x180a06,0x180a06,0x180a06,0x180a06,0x180804,
0x180804,0x180804,0x180804,0x180806,0x180806,0x180806,0x180806,0x160204,
0x160204,0x160204,0x160204,0x160204,0x160204,0x160204,0x160204,0x160206,
0x160206,0x160206,0x160206,0x160206,0x160206,0x160206,0x160206,0xc0204,
0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0206,
0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0x100404,
0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,
0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100406,
0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,
0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x140604,
0x140604,0x140604,0x140604,0x140604,0x140604,0x140604,0x140604,0x140606,
0x140606,0x140606,0x140606,0x140606,0x140606,0x140606,0x140606,0x140208,
0x140208,0x140208,0x140208,0x140208,0x140208,0x140208,0x140208,0x14020a,
0x14020a,0x14020a,0x14020a,0x14020a,0x14020a,0x14020a,0x14020a
}; //total 1024
U32 gTAB_TCOEFF_MINOR[1024]={
0x100,
0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100,
0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x190204,
0x190204,0x190205,0x190205,0x190106,0x190106,0x190107,0x190107,0x180116,
0x180116,0x180117,0x180117,0x180114,0x180114,0x180115,0x180115,0x171d02,
0x171d02,0x171d02,0x171d02,0x171d03,0x171d03,0x171d03,0x171d03,0x171c02,
0x171c02,0x171c02,0x171c02,0x171c03,0x171c03,0x171c03,0x171c03,0x171b02,
0x171b02,0x171b02,0x171b02,0x171b03,0x171b03,0x171b03,0x171b03,0x171a02,
0x171a02,0x171a02,0x171a02,0x171a03,0x171a03,0x171a03,0x171a03,0x160a04,
0x160a04,0x160a04,0x160a04,0x160a05,0x160a05,0x160a05,0x160a05,0x160904,
0x160904,0x160904,0x160904,0x160905,0x160905,0x160905,0x160905,0x160804,
0x160804,0x160804,0x160804,0x160805,0x160805,0x160805,0x160805,0x160704,
0x160704,0x160704,0x160704,0x160705,0x160705,0x160705,0x160705,0x160604,
0x160604,0x160604,0x160604,0x160605,0x160605,0x160605,0x160605,0x160406,
0x160406,0x160406,0x160406,0x160407,0x160407,0x160407,0x160407,0x160306,
0x160306,0x160306,0x160306,0x160307,0x160307,0x160307,0x160307,0x160208,
0x160208,0x160208,0x160208,0x160209,0x160209,0x160209,0x160209,0x180118,
0x180118,0x180119,0x180119,0x18020a,0x18020a,0x18020b,0x18020b,0x181802,
0x181802,0x181803,0x181803,0x181902,0x181902,0x181903,0x181903,0x191e02,
0x191e02,0x191e03,0x191e03,0x191f02,0x191f02,0x191f03,0x191f03,0x192002,
0x192002,0x192003,0x192003,0x192102,0x192102,0x192103,0x192103,0x1a020c,
0x1a020d,0x1a0308,0x1a0309,0x1a0506,0x1a0507,0x1a0606,0x1a0607,0x1a0706,
0x1a0707,0x1a0b04,0x1a0b05,0x1a1a02,0x1a1a03,0x1a1b02,0x1a1b03,0x1b2202,
0x1b2203,0x1b2302,0x1b2303,0x1b2402,0x1b2403,0x1b2502,0x1b2503,0x1b2602,
0x1b2603,0x1b2702,0x1b2703,0x1b2802,0x1b2803,0x1b2902,0x1b2903,0x180118,
0x180118,0x180119,0x180119,0x18020a,0x18020a,0x18020b,0x18020b,0x181802,
0x181802,0x181803,0x181803,0x181902,0x181902,0x181903,0x181903,0x191e02,
0x191e02,0x191e03,0x191e03,0x191f02,0x191f02,0x191f03,0x191f03,0x192002,
0x192002,0x192003,0x192003,0x192102,0x192102,0x192103,0x192103,0x1a020c,
0x1a020d,0x1a0308,0x1a0309,0x1a0506,0x1a0507,0x1a0606,0x1a0607,0x1a0706,
0x1a0707,0x1a0b04,0x1a0b05,0x1a1a02,0x1a1a03,0x1a1b02,0x1a1b03,0x1b2202,
0x1b2203,0x1b2302,0x1b2303,0x1b2402,0x1b2403,0x1b2502,0x1b2503,0x1b2602,
0x1b2603,0x1b2702,0x1b2703,0x1b2802,0x1b2803,0x1b2902,0x1b2903,0x160112,
0x160112,0x160112,0x160112,0x160113,0x160113,0x160113,0x160113,0x160110,
0x160110,0x160110,0x160110,0x160111,0x160111,0x160111,0x160111,0x151902,
0x151902,0x151902,0x151902,0x151902,0x151902,0x151902,0x151902,0x151903,
0x151903,0x151903,0x151903,0x151903,0x151903,0x151903,0x151903,0x151802,
0x151802,0x151802,0x151802,0x151802,0x151802,0x151802,0x151802,0x151803,
0x151803,0x151803,0x151803,0x151803,0x151803,0x151803,0x151803,0x151702,
0x151702,0x151702,0x151702,0x151702,0x151702,0x151702,0x151702,0x151703,
0x151703,0x151703,0x151703,0x151703,0x151703,0x151703,0x151703,0x151602,
0x151602,0x151602,0x151602,0x151602,0x151602,0x151602,0x151602,0x151603,
0x151603,0x151603,0x151603,0x151603,0x151603,0x151603,0x151603,0x151502,
0x151502,0x151502,0x151502,0x151502,0x151502,0x151502,0x151502,0x151503,
0x151503,0x151503,0x151503,0x151503,0x151503,0x151503,0x151503,0x151402,
0x151402,0x151402,0x151402,0x151402,0x151402,0x151402,0x151402,0x151403,
0x151403,0x151403,0x151403,0x151403,0x151403,0x151403,0x151403,0x151302,
0x151302,0x151302,0x151302,0x151302,0x151302,0x151302,0x151302,0x151303,
0x151303,0x151303,0x151303,0x151303,0x151303,0x151303,0x151303,0x151202,
0x151202,0x151202,0x151202,0x151202,0x151202,0x151202,0x151202,0x151203,
0x151203,0x151203,0x151203,0x151203,0x151203,0x151203,0x151203,0x150104,
0x150104,0x150104,0x150104,0x150104,0x150104,0x150104,0x150104,0x150105,
0x150105,0x150105,0x150105,0x150105,0x150105,0x150105,0x150105,0x141702,
0x141702,0x141702,0x141702,0x141702,0x141702,0x141702,0x141702,0x141703,
0x141703,0x141703,0x141703,0x141703,0x141703,0x141703,0x141703,0x141602,
0x141602,0x141602,0x141602,0x141602,0x141602,0x141602,0x141602,0x141603,
0x141603,0x141603,0x141603,0x141603,0x141603,0x141603,0x141603,0x141502,
0x141502,0x141502,0x141502,0x141502,0x141502,0x141502,0x141502,0x141503,
0x141503,0x141503,0x141503,0x141503,0x141503,0x141503,0x141503,0x141402,
0x141402,0x141402,0x141402,0x141402,0x141402,0x141402,0x141402,0x141403,
0x141403,0x141403,0x141403,0x141403,0x141403,0x141403,0x141403,0x141302,
0x141302,0x141302,0x141302,0x141302,0x141302,0x141302,0x141302,0x141303,
0x141303,0x141303,0x141303,0x141303,0x141303,0x141303,0x141303,0x141202,
0x141202,0x141202,0x141202,0x141202,0x141202,0x141202,0x141202,0x141203,
0x141203,0x141203,0x141203,0x141203,0x141203,0x141203,0x141203,0x141102,
0x141102,0x141102,0x141102,0x141102,0x141102,0x141102,0x141102,0x141103,
0x141103,0x141103,0x141103,0x141103,0x141103,0x141103,0x141103,0x141002,
0x141002,0x141002,0x141002,0x141002,0x141002,0x141002,0x141002,0x141003,
0x141003,0x141003,0x141003,0x141003,0x141003,0x141003,0x141003,0x140504,
0x140504,0x140504,0x140504,0x140504,0x140504,0x140504,0x140504,0x140505,
0x140505,0x140505,0x140505,0x140505,0x140505,0x140505,0x140505,0x140404,
0x140404,0x140404,0x140404,0x140404,0x140404,0x140404,0x140404,0x140405,
0x140405,0x140405,0x140405,0x140405,0x140405,0x140405,0x140405,0x14010e,
0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010f,
0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010c,
0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010d,
0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x131102,
0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,
0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131103,
0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,
0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131002,
0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,
0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131003,
0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,
0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x130f02,
0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,
0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f03,
0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,
0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130e02,
0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,
0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e03,
0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,
0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130d02,
0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,
0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d03,
0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,
0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130c02,
0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,
0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c03,
0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,
0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130b02,
0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,
0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b03,
0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,
0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130a02,
0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,
0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a03,
0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,
0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x120f02,
0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,
0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f03,
0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,
0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120e02,
0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,
0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e03,
0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,
0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120304,
0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,
0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120305,
0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,
0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120206,
0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,
0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120207,
0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,
0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x12010a,
0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,
0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010b,
0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,
0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b
}; //total 4096
I16 gTAB_INVERSE_Q[1024] = {
0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 3, -3, 5, -5, 7, -7, 9,
-9, 11, -11, 13, -13, 15, -15, 17,
-17, 19, -19, 21, -21, 23, -23, 25,
-25, 27, -27, 29, -29, 31, -31, 0,
0, 5, -5, 9, -9, 13, -13, 17,
-17, 21, -21, 25, -25, 29, -29, 33,
-33, 37, -37, 41, -41, 45, -45, 49,
-49, 53, -53, 57, -57, 61, -61, 0,
0, 9, -9, 15, -15, 21, -21, 27,
-27, 33, -33, 39, -39, 45, -45, 51,
-51, 57, -57, 63, -63, 69, -69, 75,
-75, 81, -81, 87, -87, 93, -93, 0,
0, 11, -11, 19, -19, 27, -27, 35,
-35, 43, -43, 51, -51, 59, -59, 67,
-67, 75, -75, 83, -83, 91, -91, 99,
-99, 107, -107, 115, -115, 123, -123, 0,
0, 15, -15, 25, -25, 35, -35, 45,
-45, 55, -55, 65, -65, 75, -75, 85,
-85, 95, -95, 105, -105, 115, -115, 125,
-125, 135, -135, 145, -145, 155, -155, 0,
0, 17, -17, 29, -29, 41, -41, 53,
-53, 65, -65, 77, -77, 89, -89, 101,
-101, 113, -113, 125, -125, 137, -137, 149,
-149, 161, -161, 173, -173, 185, -185, 0,
0, 21, -21, 35, -35, 49, -49, 63,
-63, 77, -77, 91, -91, 105, -105, 119,
-119, 133, -133, 147, -147, 161, -161, 175,
-175, 189, -189, 203, -203, 217, -217, 0,
0, 23, -23, 39, -39, 55, -55, 71,
-71, 87, -87, 103, -103, 119, -119, 135,
-135, 151, -151, 167, -167, 183, -183, 199,
-199, 215, -215, 231, -231, 247, -247, 0,
0, 27, -27, 45, -45, 63, -63, 81,
-81, 99, -99, 117, -117, 135, -135, 153,
-153, 171, -171, 189, -189, 207, -207, 225,
-225, 243, -243, 261, -261, 279, -279, 0,
0, 29, -29, 49, -49, 69, -69, 89,
-89, 109, -109, 129, -129, 149, -149, 169,
-169, 189, -189, 209, -209, 229, -229, 249,
-249, 269, -269, 289, -289, 309, -309, 0,
0, 33, -33, 55, -55, 77, -77, 99,
-99, 121, -121, 143, -143, 165, -165, 187,
-187, 209, -209, 231, -231, 253, -253, 275,
-275, 297, -297, 319, -319, 341, -341, 0,
0, 35, -35, 59, -59, 83, -83, 107,
-107, 131, -131, 155, -155, 179, -179, 203,
-203, 227, -227, 251, -251, 275, -275, 299,
-299, 323, -323, 347, -347, 371, -371, 0,
0, 39, -39, 65, -65, 91, -91, 117,
-117, 143, -143, 169, -169, 195, -195, 221,
-221, 247, -247, 273, -273, 299, -299, 325,
-325, 351, -351, 377, -377, 403, -403, 0,
0, 41, -41, 69, -69, 97, -97, 125,
-125, 153, -153, 181, -181, 209, -209, 237,
-237, 265, -265, 293, -293, 321, -321, 349,
-349, 377, -377, 405, -405, 433, -433, 0,
0, 45, -45, 75, -75, 105, -105, 135,
-135, 165, -165, 195, -195, 225, -225, 255,
-255, 285, -285, 315, -315, 345, -345, 375,
-375, 405, -405, 435, -435, 465, -465, 0,
0, 47, -47, 79, -79, 111, -111, 143,
-143, 175, -175, 207, -207, 239, -239, 271,
-271, 303, -303, 335, -335, 367, -367, 399,
-399, 431, -431, 463, -463, 495, -495, 0,
0, 51, -51, 85, -85, 119, -119, 153,
-153, 187, -187, 221, -221, 255, -255, 289,
-289, 323, -323, 357, -357, 391, -391, 425,
-425, 459, -459, 493, -493, 527, -527, 0,
0, 53, -53, 89, -89, 125, -125, 161,
-161, 197, -197, 233, -233, 269, -269, 305,
-305, 341, -341, 377, -377, 413, -413, 449,
-449, 485, -485, 521, -521, 557, -557, 0,
0, 57, -57, 95, -95, 133, -133, 171,
-171, 209, -209, 247, -247, 285, -285, 323,
-323, 361, -361, 399, -399, 437, -437, 475,
-475, 513, -513, 551, -551, 589, -589, 0,
0, 59, -59, 99, -99, 139, -139, 179,
-179, 219, -219, 259, -259, 299, -299, 339,
-339, 379, -379, 419, -419, 459, -459, 499,
-499, 539, -539, 579, -579, 619, -619, 0,
0, 63, -63, 105, -105, 147, -147, 189,
-189, 231, -231, 273, -273, 315, -315, 357,
-357, 399, -399, 441, -441, 483, -483, 525,
-525, 567, -567, 609, -609, 651, -651, 0,
0, 65, -65, 109, -109, 153, -153, 197,
-197, 241, -241, 285, -285, 329, -329, 373,
-373, 417, -417, 461, -461, 505, -505, 549,
-549, 593, -593, 637, -637, 681, -681, 0,
0, 69, -69, 115, -115, 161, -161, 207,
-207, 253, -253, 299, -299, 345, -345, 391,
-391, 437, -437, 483, -483, 529, -529, 575,
-575, 621, -621, 667, -667, 713, -713, 0,
0, 71, -71, 119, -119, 167, -167, 215,
-215, 263, -263, 311, -311, 359, -359, 407,
-407, 455, -455, 503, -503, 551, -551, 599,
-599, 647, -647, 695, -695, 743, -743, 0,
0, 75, -75, 125, -125, 175, -175, 225,
-225, 275, -275, 325, -325, 375, -375, 425,
-425, 475, -475, 525, -525, 575, -575, 625,
-625, 675, -675, 725, -725, 775, -775, 0,
0, 77, -77, 129, -129, 181, -181, 233,
-233, 285, -285, 337, -337, 389, -389, 441,
-441, 493, -493, 545, -545, 597, -597, 649,
-649, 701, -701, 753, -753, 805, -805, 0,
0, 81, -81, 135, -135, 189, -189, 243,
-243, 297, -297, 351, -351, 405, -405, 459,
-459, 513, -513, 567, -567, 621, -621, 675,
-675, 729, -729, 783, -783, 837, -837, 0,
0, 83, -83, 139, -139, 195, -195, 251,
-251, 307, -307, 363, -363, 419, -419, 475,
-475, 531, -531, 587, -587, 643, -643, 699,
-699, 755, -755, 811, -811, 867, -867, 0,
0, 87, -87, 145, -145, 203, -203, 261,
-261, 319, -319, 377, -377, 435, -435, 493,
-493, 551, -551, 609, -609, 667, -667, 725,
-725, 783, -783, 841, -841, 899, -899, 0,
0, 89, -89, 149, -149, 209, -209, 269,
-269, 329, -329, 389, -389, 449, -449, 509,
-509, 569, -569, 629, -629, 689, -689, 749,
-749, 809, -809, 869, -869, 929, -929, 0,
0, 93, -93, 155, -155, 217, -217, 279,
-279, 341, -341, 403, -403, 465, -465, 527,
-527, 589, -589, 651, -651, 713, -713, 775,
-775, 837, -837, 899, -899, 961, -961
};
U32 gTAB_ZZ_RUN[64]= { 0, 1, 8, 16, 9, 2, 3, 10,
17, 24, 32, 25, 18, 11, 4, 5,
12, 19, 26, 33, 40, 48, 41, 34,
27, 20, 13, 6, 7, 14, 21, 28,
35, 42, 49, 56, 57, 50, 43, 36,
29, 22, 15, 23, 30, 37, 44, 51,
58, 59, 52, 45, 38, 31, 39, 46,
53, 60, 61, 54, 47, 55, 62, 63
}
; //input is the cumulative run value