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.
 
 
 
 
 
 

2436 lines
36 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: KMILLS $
;// $Date: 22 Dec 1995 14:41:08 $
;// $Archive: S:\h26x\src\dec\d1tables.cpv $
;// $Header: S:\h26x\src\dec\d1tables.cpv 1.11 22 Dec 1995 14:41:08 KMILLS $
;// $Log: S:\h26x\src\dec\d1tables.cpv $
//
// Rev 1.11 22 Dec 1995 14:41:08 KMILLS
//
// added new copyright notice
//
// Rev 1.10 26 Oct 1995 15:31:18 SCDAY
// Changed MV tables
//
// Rev 1.9 23 Oct 1995 16:14:20 SCDAY
// changed minor tables for >8 bit processing
//
// Rev 1.8 20 Oct 1995 13:16:52 SCDAY
//
// Changed motion vector tables and the type for gTAB_MV_ADJUST
//
// Rev 1.7 18 Oct 1995 14:50:26 AKASAI
// Fixed bug in tcoeff tables. tc1a table was missing a set of 8 entries.
// Had only 504 entries instead of 512.
//
// Rev 1.6 18 Oct 1995 11:01:26 SCDAY
//
// Added motion vector table
//
// Rev 1.5 16 Oct 1995 13:51:02 SCDAY
// Merged in d1akktbl.cpp
//
// Rev 1.4 09 Oct 1995 08:21:30 SCDAY
// fixed gTAB_ZZ_RUN
//
// Rev 1.3 21 Sep 1995 18:05:00 AKASAI
// Updated Inverse quantization table, should now match version in d3tables.cp
//
// Rev 1.2 20 Sep 1995 15:34:14 SCDAY
//
// added Mtype, MVD, CBP tables
//
// Rev 1.1 19 Sep 1995 15:22:14 SCDAY
// added MBA tables
//
// Rev 1.0 11 Sep 1995 13:51:54 SCDAY
// Initial revision.
//
// 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"
/* H261 tables */
U16 gTAB_MBA_MAJOR[256]= {
0xff18, /* 0x00 */
0x0b22,
0xff00,
0xff10,
0xff08,
0xff00,
0x080f,
0x080e,
0x080d,
0x080c,
0x080b,
0x080a,
0x0709,
0x0709,
0x0708,
0x0708,
0x0507, /* 0x10 */
0x0507,
0x0507,
0x0507,
0x0507,
0x0507,
0x0507,
0x0507,
0x0506,
0x0506,
0x0506,
0x0506,
0x0506,
0x0506,
0x0506,
0x0506,
0x0405, /* 0x20 */
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0405,
0x0404, /* 0x30 */
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0303, /* 0x40 */
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303, /* 0x50 */
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0303,
0x0302, /* 0x60 */
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302, /* 0x70 */
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0302,
0x0101, /* 0x80 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0x90 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xa0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xb0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xc0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xd0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xe0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101, /* 0xf0 */
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101,
0x0101
};
U16 gTAB_MBA_MINOR[32]= {
0x0a13, /* 16 - 19 */
0x0a13,
0x0a12,
0x0a12,
0x0a11,
0x0a11,
0x0a10,
0x0a10,
0x0b19, /* 20 - 25 */
0x0b18,
0x0b17,
0x0b16,
0x0a15,
0x0a15,
0x0a14,
0x0a14,
0x0b21, /* 26 - 33 */
0x0b20,
0x0b1f,
0x0b1e,
0x0b1d,
0x0b1c,
0x0b1b,
0x0b1a,
0x1023, /* code 35 */
0x1023,
0x1023,
0x1023,
0x1023,
0x1023,
0x1023,
0x1023
};
U16 gTAB_MTYPE_MAJOR[]={
0xff00, /* 0x00 */
0x0805,
0x0701,
0x0701,
0x0609,
0x0609,
0x0609,
0x0609,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0400, /* 0x10 */
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0307, /* 0x20 */
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307, /* 0x30 */
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0307,
0x0208, /* 0x40 */
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208, /* 0x50 */
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208, /* 0x60 */
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208, /* 0x70 */
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0208,
0x0102, /* 0x80 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0x90 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xa0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xb0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xc0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xd0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xe0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102, /* 0xf0 */
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102,
0x0102
};
U16 gTAB_MTYPE_MINOR[]={
0x0800,
0x0a06,
0x0904,
0x0904
};
U16 gTAB_MVD_MAJOR[]={
0xffff, /* 0x00 */
0xffff,
0xffff,
0xff00,
0xff08,
0xff10,
0x0807,
0x08f9,
0x0806,
0x08fa,
0x0805,
0x08fb,
0x0704,
0x0704,
0x07fc,
0x07fc,
0x0503, /* 0x10 */
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x0503,
0x05fd,
0x05fd,
0x05fd,
0x05fd,
0x05fd,
0x05fd,
0x05fd,
0x05fd,
0x0402, /* 0x20 */
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x0402,
0x04fe, /* 0x30 */
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x04fe,
0x0301, /* 0x40 */
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301, /* 0x50 */
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x0301,
0x03ff, /* 0x60 */
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff, /* 0x70 */
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x03ff,
0x0100, /* 0x80 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0x90 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xa0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xb0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xc0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xd0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xe0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100, /* 0xf0 */
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100,
0x0100
};
U16 gTAB_MVD_MINOR[]={
0x0bff, /* 0000 0011 */
0x0bf0,
0x0b0f,
0x0bf1,
0x0b0e,
0x0bf2,
0x0b0d,
0x0bf3,
0x0b0c, /* 0000 0100 */
0x0bf4,
0x0b0b,
0x0bf5,
0x0a0a,
0x0a0a,
0x0af6,
0x0af6,
0x0a09, /* 0000 0101 */
0x0a09,
0x0af7,
0x0af7,
0x0a08,
0x0a08,
0x0af8,
0x0af8
};
U16 gTAB_CBP[]={
0x00ff, /* 0000 0000 x */
0x00ff,
0x0927, /* 0000 0001 0 */
0x091b, /* 0000 0001 1 */
0x093b, /* 0000 0010 0 */
0x0937, /* 0000 0010 1 */
0x092f, /* 0000 0011 0 */
0x091f, /* 0000 0011 1 */
0x083a, /* 0000 0100 x */
0x083a,
0x0836, /* 0000 0101 x */
0x0836,
0x082e, /* 0000 0110 x */
0x082e,
0x081e, /* 0000 0111 x */
0x081e,
0x0839, /* 0000 1000 x */
0x0839,
0x0835, /* 0000 1001 x */
0x0835,
0x082d, /* 0000 1010 x */
0x082d,
0x081d, /* 0000 1011 x */
0x081d,
0x0826, /* 0000 1100 x */
0x0826,
0x081a, /* 0000 1101 x */
0x081a,
0x0825, /* 0000 1110 x */
0x0825,
0x0819, /* 0000 1111 x */
0x0819,
0x082b, /* 0001 0000 x */
0x082b,
0x0817, /* 0001 0001 x */
0x0817,
0x0833, /* 0001 0010 x */
0x0833,
0x080f, /* 0001 0011 x */
0x080f,
0x082a, /* 0001 0100 x */
0x082a,
0x0816, /* 0001 0101 x */
0x0816,
0x0832, /* 0001 0110 x */
0x0832,
0x080e, /* 0001 0111 x */
0x080e,
0x0829, /* 0001 1000 x */
0x0829,
0x0815, /* 0001 1001 x */
0x0815,
0x0831, /* 0001 1010 x */
0x0831,
0x080d, /* 0001 1011 x */
0x080d,
0x0823, /* 0001 1100 x */
0x0823,
0x0813, /* 0001 1101 x */
0x0813,
0x080b, /* 0001 1110 x */
0x080b,
0x0807, /* 0001 1111 x */
0x0807,
0x0722, /* 0010 000x x */
0x0722,
0x0722,
0x0722,
0x0712, /* 0010 001x x */
0x0712,
0x0712,
0x0712,
0x070a, /* 0010 010x x */
0x070a,
0x070a,
0x070a,
0x0706, /* 0010 011x x */
0x0706,
0x0706,
0x0706,
0x0721, /* 0010 100x x */
0x0721,
0x0721,
0x0721,
0x0711, /* 0010 101x x */
0x0711,
0x0711,
0x0711,
0x0709, /* 0010 110x x */
0x0709,
0x0709,
0x0709,
0x0705, /* 0010 111x x */
0x0705,
0x0705,
0x0705,
0x063f, /* 0011 00xx x */
0x063f,
0x063f,
0x063f,
0x063f,
0x063f,
0x063f,
0x063f,
0x0603, /* 0011 01xx x */
0x0603,
0x0603,
0x0603,
0x0603,
0x0603,
0x0603,
0x0603,
0x0624, /* 0011 10xx x */
0x0624,
0x0624,
0x0624,
0x0624,
0x0624,
0x0624,
0x0624,
0x0618, /* 0011 11xx x */
0x0618,
0x0618,
0x0618,
0x0618,
0x0618,
0x0618,
0x0618,
0x053e, /* 0100 0xxx x */
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x053e,
0x0502, /* 0100 1xxx x */
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x0502,
0x053d, /* 0101 0xxx x */
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x053d,
0x0501, /* 0101 1xxx x */
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0501,
0x0538, /* 0110 0xxx x */
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0538,
0x0534, /* 0110 1xxx x */
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x0534,
0x052c, /* 0111 0xxx x */
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x052c,
0x051c, /* 0111 1xxx x */
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x051c,
0x0528, /* 1000 0xxx x */
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0528,
0x0514, /* 1000 1xxx x */
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0514,
0x0530, /* 1001 0xxx x */
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x0530,
0x050c, /* 1001 1xxx x */
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x050c,
0x0420, /* 1010 xxxx x */
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0420,
0x0410, /* 1011 xxxx x */
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0410,
0x0408, /* 1100 xxxx x */
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0408,
0x0404, /* 1101 xxxx x */
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x0404,
0x033c, /* 111x xxxx x */
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c,
0x033c
};
U8 gTAB_TCOEFF_tc1[512]={
0xa0, 0x00, // prefix 0000 0000
0xb0, 0x40, // prefix 0000 0001
0xd0, 0x00, // prefix 0000 0010
0xd0, 0x08, // prefix 0000 0011
0x5f, 0x02, // escape
0x5f, 0x02,
0x5f, 0x02,
0x5f, 0x02,
0x72, 0x02, // 0000 100s
0x72, 0xfe,
0x79, 0x01, // 0000 101s
0x79, 0xff,
0x70, 0x04, // 0000 110s
0x70, 0xfc,
0x78, 0x01, // 0000 111s
0x78, 0xff,
0x67, 0x01, // 0001 00s
0x67, 0x01,
0x67, 0xff,
0x67, 0xff,
0x66, 0x01, // 0001 01s
0x66, 0x01,
0x66, 0xff,
0x66, 0xff,
0x61, 0x02, // 0001 10s
0x61, 0x02,
0x61, 0xfe,
0x61, 0xfe,
0x65, 0x01, // 0001 11s
0x65, 0x01,
0x65, 0xff,
0x65, 0xff,
0xf0, 0x10, // prefix 0010 0000
0xf0, 0x12, // prefix 0010 0001
0xf0, 0x14, // prefix 0010 0010
0xf0, 0x16, // prefix 0010 0011
0xf0, 0x18, // prefix 0010 0100
0xf0, 0x1a, // prefix 0010 0101
0xf0, 0x1c, // prefix 0010 0110
0xf0, 0x1e, // prefix 0010 0111
0x50, 0x03, // 0010 1s
0x50, 0x03,
0x50, 0x03,
0x50, 0x03,
0x50, 0xfd,
0x50, 0xfd,
0x50, 0xfd,
0x50, 0xfd,
0x54, 0x01, // 0011 0s
0x54, 0x01,
0x54, 0x01,
0x54, 0x01,
0x54, 0xff,
0x54, 0xff,
0x54, 0xff,
0x54, 0xff,
0x53, 0x01, // 0011 1s
0x53, 0x01,
0x53, 0x01,
0x53, 0x01,
0x53, 0xff,
0x53, 0xff,
0x53, 0xff,
0x53, 0xff,
0x40, 0x02, // 0100 s
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x42, 0x01, // 0101 s
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x31, 0x01, // 011s
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x10, 0x00, // EOB dw 080
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00, // dw 090
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00, // dw 0a0
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00, // dw 0b0
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x10, 0x00,
0x20, 0x01, // 11s
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0x01,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff,
0x20, 0xff
}; //512 elements
U8 gTAB_TCOEFF_tc1a[512]={
0xa0, 0x00, // prefix 0000 0000
0xb0, 0x40, // prefix 0000 0001
0xd0, 0x00, // prefix 0000 0010
0xd0, 0x08, // prefix 0000 0011
0x5f, 0x02, // escape
0x5f, 0x02,
0x5f, 0x02,
0x5f, 0x02,
0x72, 0x02, // 0000 100s
0x72, 0xfe,
0x79, 0x01, // 0000 101s
0x79, 0xff,
0x70, 0x04, // 0000 110s
0x70, 0xfc,
0x78, 0x01, // 0000 111s
0x78, 0xff,
0x67, 0x01, // 0001 00s
0x67, 0x01,
0x67, 0xff,
0x67, 0xff,
0x66, 0x01, // 0001 01s
0x66, 0x01,
0x66, 0xff,
0x66, 0xff,
0x61, 0x02, // 0001 10s
0x61, 0x02,
0x61, 0xfe,
0x61, 0xfe,
0x65, 0x01, // 0001 11s
0x65, 0x01,
0x65, 0xff,
0x65, 0xff,
0xf0, 0x10, // prefix 0010 0000
0xf0, 0x12, // prefix 0010 0001
0xf0, 0x14, // prefix 0010 0010
0xf0, 0x16, // prefix 0010 0011
0xf0, 0x18, // prefix 0010 0100
0xf0, 0x1a, // prefix 0010 0101
0xf0, 0x1c, // prefix 0010 0110
0xf0, 0x1e, // prefix 0010 0111
0x50, 0x03, // 0010 1s
0x50, 0x03,
0x50, 0x03,
0x50, 0x03,
0x50, 0xfd,
0x50, 0xfd,
0x50, 0xfd,
0x50, 0xfd,
0x54, 0x01, // 0011 0s
0x54, 0x01,
0x54, 0x01,
0x54, 0x01,
0x54, 0xff,
0x54, 0xff,
0x54, 0xff,
0x54, 0xff,
0x53, 0x01, // 0011 1s
0x53, 0x01,
0x53, 0x01,
0x53, 0x01,
0x53, 0xff,
0x53, 0xff,
0x53, 0xff,
0x53, 0xff,
0x40, 0x02, // 0100 s
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0x02,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x40, 0xfe,
0x42, 0x01, // 0101 s
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0x01,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x42, 0xff,
0x31, 0x01, // 011s
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0x01,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x31, 0xff,
0x10, 0x01, // 1s
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01, // dw 090
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01, // dw 0a0
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01, // dw 0b0
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0x01,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff,
0x10, 0xff
}; // 512 elements
U8 gTAB_TCOEFF_tc2[192]={
// for prefix 0000 0010
0x10, 0x01, // 00 s
0x10, 0xff,
0x05, 0x02, // 01 s
0x05, 0xfe,
0x00, 0x07, // 10 s
0x00, 0xf9,
0x02, 0x03, // 11 s
0x02, 0xfd,
// for prefix 0000 0011
0x01, 0x04, // 00 s
0x01, 0xfc,
0x0f, 0x01, // 01 s
0x0f, 0xff,
0x0e, 0x01, // 10 s
0x0e, 0xff,
0x04, 0x02, // 11 s
0x04, 0xfe,
0x0d, 0x01, // for prefix 0010 0000
0x0d, 0xff,
0x00, 0x06, // for prefix 0010 0001
0x00, 0xfa,
0x0c, 0x01, // for prefix 0010 0010
0x0c, 0xff,
0x0b, 0x01, // for prefix 0010 0011
0x0b, 0xff,
0x03, 0x02, // for prefix 0010 0100
0x03, 0xfe,
0x01, 0x03, // for prefix 0010 0101
0x01, 0xfd,
0x00, 0x05, // for prefix 0010 0110
0x00, 0xfb,
0x0a, 0x01, // for prefix 0010 0111
0x0a, 0xff,
// table for 0000 0000 prefix
0x0a, 0x02, // 1000 0s
0x0a, 0xfe,
0x09, 0x02, // 1000 1s
0x09, 0xfe,
0x05, 0x03, // 1001 0s
0x05, 0xfd,
0x03, 0x04, // 1001 1s
0x03, 0xfc,
0x02, 0x05, // 1010 0s
0x02, 0xfb,
0x01, 0x07, // 1010 1s
0x01, 0xf9,
0x01, 0x06, // 1011 0s
0x01, 0xfa,
0x00, 0x0f, // 1011 1s
0x00, 0xf1,
0x00, 0x0e, // 1100 0s
0x00, 0xf2,
0x00, 0x0d, // 1100 1s
0x00, 0xf3,
0x00, 0x0c, // 1101 0s
0x00, 0xf4,
0x1a, 0x01, // 1101 1s
0x1a, 0xff,
0x19, 0x01, // 1110 0s
0x19, 0xff,
0x18, 0x01, // 1110 1s
0x18, 0xff,
0x17, 0x01, // 1111 0s
0x17, 0xff,
0x16, 0x01, // 1111 1s
0x16, 0xff,
// table for 0000 0001 prefix
0x00, 0x0b, // 0000 s
0x00, 0xf5,
0x08, 0x02, // 0001 s
0x08, 0xfe,
0x04, 0x03, // 0010 s
0x04, 0xfd,
0x00, 0x0a, // 0011 s
0x00, 0xf6,
0x02, 0x04, // 0100 s
0x02, 0xfc,
0x07, 0x02, // 0101 s
0x07, 0xfe,
0x15, 0x01, // 0110 s
0x15, 0xff,
0x14, 0x01, // 0111 s
0x14, 0xff,
0x00, 0x09, // 1000 s
0x00, 0xf7,
0x13, 0x01, // 1001 s
0x13, 0xff,
0x12, 0x01, // 1010 s
0x12, 0xff,
0x01, 0x05, // 1011 s
0x01, 0xfb,
0x03, 0x03, // 1100 s
0x03, 0xfd,
0x00, 0x08, // 1101 s
0x00, 0xf8,
0x06, 0x02, // 1110 s
0x06, 0xfe,
0x11, 0x01, // 1111 s ; error in doc?
0x11, 0xff
}; // 192 elements
I8 gTAB_MV_ADJUST[65] = {
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,
0};
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