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

  1. /* *************************************************************************
  2. ** INTEL Corporation Proprietary Information
  3. **
  4. ** This listing is supplied under the terms of a license
  5. ** agreement with INTEL Corporation and may not be copied
  6. ** nor disclosed except in accordance with the terms of
  7. ** that agreement.
  8. **
  9. ** Copyright (c) 1995 Intel Corporation.
  10. ** All Rights Reserved.
  11. **
  12. ** *************************************************************************
  13. */
  14. //////////////////////////////////////////////////////////////////////////
  15. // $Author: AGUPTA2 $
  16. // $Date: 08 Mar 1996 16:46:30 $
  17. // $Archive: S:\h26x\src\dec\d3tables.cpv $
  18. // $Header: S:\h26x\src\dec\d3tables.cpv 1.10 08 Mar 1996 16:46:30 AGUPTA2 $
  19. // $Log: S:\h26x\src\dec\d3tables.cpv $
  20. //
  21. // Rev 1.10 08 Mar 1996 16:46:30 AGUPTA2
  22. // Removed tables gTAB_MCBPC_INTRA, gTAB_MCBPC_INTER, gTAB_CBPY_INTRA, and
  23. // gTAB_CBPY_INTER. Added pragma data_seg to put all the tables in the Pass 1
  24. // data segment.
  25. //
  26. //
  27. // Rev 1.9 27 Dec 1995 14:36:08 RMCKENZX
  28. // Added copyright notice
  29. //
  30. // Rev 1.8 08 Oct 1995 13:41:58 CZHU
  31. //
  32. // Fixed zz-run table with two wrong entries,
  33. //
  34. // Rev 1.7 18 Sep 1995 08:40:28 CZHU
  35. // Fixed bugs with table entries for negative val
  36. //
  37. // Rev 1.6 07 Sep 1995 09:46:40 CZHU
  38. // fixed one bug in TCOEFF minor table
  39. //
  40. // Rev 1.5 31 Aug 1995 16:42:48 CZHU
  41. // Changed the format of MVD variable length decoder tables: major and minor
  42. //
  43. // Rev 1.4 24 Aug 1995 15:34:28 CZHU
  44. // Fixed bugs in the inverse quant table, and TCOEFF minor tables
  45. //
  46. // Rev 1.3 22 Aug 1995 17:39:00 CZHU
  47. //
  48. // Modified the TCOEFF_MAJOR and MINOR tables for embedded run values.
  49. //
  50. // Rev 1.2 18 Aug 1995 15:01:00 CZHU
  51. // Added run length tables ready for joint opt IDCT and RLD+ZZ
  52. //
  53. // Rev 1.1 16 Aug 1995 14:25:10 CZHU
  54. //
  55. // Rebuild the tables for IQ, RLD for Transform coefficients
  56. //
  57. // Rev 1.0 11 Aug 1995 15:50:56 CZHU
  58. // Initial revision.
  59. ;//
  60. ;// Rev 1.1 02 Aug 1995 11:47:04 CZHU
  61. ;//
  62. ;// Added table for inverse quantization and RLD-ZZ
  63. ;//
  64. ;// Rev 1.0 31 Jul 1995 15:46:20 CZHU
  65. ;// Initial revision.
  66. //Initialize global tables shared by all decoder instances:
  67. //Huffman tables, etc
  68. //declare the global static tables here
  69. #include "precomp.h"
  70. /*
  71. U16 gTAB_MCBPC_INTRA[512]= {
  72. 0x0,
  73. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  74. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  75. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  76. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  77. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  78. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  79. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  80. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
  81. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  82. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  83. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  84. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  85. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  86. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  87. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  88. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
  89. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  90. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  91. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  92. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  93. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  94. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  95. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  96. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x0,
  97. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  98. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  99. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  100. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  101. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  102. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  103. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  104. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
  105. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  106. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  107. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  108. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  109. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  110. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  111. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  112. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
  113. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  114. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  115. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  116. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  117. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  118. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  119. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  120. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
  121. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  122. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  123. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  124. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  125. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  126. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  127. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  128. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1409,
  129. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  130. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1206,
  131. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  132. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1106,
  133. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  134. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1306,
  135. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01, 0x1004,
  136. 0xc01, 0xd03, 0xc01, 0xe03, 0xc01, 0xf03, 0xc01
  137. }; //total 1024
  138. U16 gTAB_MCBPC_INTER[512]={
  139. 0x0,
  140. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  141. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
  142. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  143. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xd08,
  144. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  145. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
  146. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  147. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1109,
  148. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  149. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
  150. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  151. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
  152. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  153. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
  154. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  155. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1309,
  156. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  157. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
  158. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  159. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xb08,
  160. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  161. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
  162. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  163. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xe08,
  164. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  165. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
  166. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  167. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
  168. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  169. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
  170. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  171. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1409,
  172. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  173. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
  174. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  175. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xd08,
  176. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  177. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
  178. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  179. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x709,
  180. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  181. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
  182. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  183. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
  184. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  185. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
  186. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  187. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x1209,
  188. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  189. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xa07,
  190. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  191. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xb08,
  192. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  193. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x607,
  194. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  195. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xe08,
  196. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x1006,
  197. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x907,
  198. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  199. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0xf07,
  200. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0x306,
  201. 0x1,0x803,0x1,0x104,0x1,0x403,0x1,0x507,
  202. 0x1,0x803,0x1,0x204,0x1,0x403,0x1,0xc05,
  203. 0x1,0x803,0x1,0x104,0x1,0x403,0x1
  204. }; //total 1024
  205. U16 gTAB_CBPY_INTRA[64]={
  206. 0x0, 0xd04,0xc04,0xf02,0x205,0xb04,0xe04,0xf02,
  207. 0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
  208. 0x606,0xd04,0xc04,0xf02,0x105,0xb04,0xe04,0xf02,
  209. 0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
  210. 0x0, 0xd04,0xc04,0xf02,0x205,0xb04,0xe04,0xf02,
  211. 0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02,
  212. 0x906,0xd04,0xc04,0xf02,0x105,0xb04,0xe04,0xf02,
  213. 0x705,0x705,0x705,0xf02,0x705,0x705,0x705,0xf02
  214. }; //total 128
  215. U16 gTAB_CBPY_INTER[64]={
  216. 0x0, 0x204,0x304,0x2,0xd05,0x404,0x104,0x2,
  217. 0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
  218. 0x906,0x204,0x304,0x2,0xe05,0x404,0x104,0x2,
  219. 0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
  220. 0x0, 0x204,0x304,0x2,0xd05,0x404,0x104,0x2,
  221. 0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2,
  222. 0x606,0x204,0x304,0x2,0xe05,0x404,0x104,0x2,
  223. 0x805,0x805,0x805,0x2,0x805,0x805,0x805,0x2
  224. }; //total 128
  225. */
  226. #pragma data_seg("IADATA1")
  227. U16 gTAB_MVD_MAJOR[256]={
  228. 0x0,
  229. 0x0,0x0,0x0,0x0,0x0,0x708,0xf908,0x608,
  230. 0xfa08,0x508,0xfb08,0x407,0x407,0xfc07,0xfc07,0x305,
  231. 0x305,0x305,0x305,0x305,0x305,0x305,0x305,0xfd05,
  232. 0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0xfd05,0x204,
  233. 0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,
  234. 0x204,0x204,0x204,0x204,0x204,0x204,0x204,0xfe04,
  235. 0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,
  236. 0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0xfe04,0x103,
  237. 0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
  238. 0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
  239. 0x103,0x103,0x103,0x103,0x103,0x103,0x103,0x103,
  240. 0x103,0x103,0x103,0x103,0x103,0x103,0x103,0xff03,
  241. 0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
  242. 0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
  243. 0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,
  244. 0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0xff03,0x1,
  245. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  246. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  247. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  248. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  249. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  250. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  251. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  252. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  253. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  254. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  255. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  256. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  257. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  258. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  259. 0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
  260. 0x1,0x1,0x1,0x1,0x1,0x1,0x1
  261. }; //total 512
  262. U16 gTAB_MVD_MINOR[256]={
  263. 0x0,
  264. 0x0,0x0,0x0,0x0,0xe00d,0x1f0d,0xe10d,0x1e0c,
  265. 0x1e0c,0xe20c,0xe20c,0x1d0c,0x1d0c,0xe30c,0xe30c,0x1c0c,
  266. 0x1c0c,0xe40c,0xe40c,0x1b0c,0x1b0c,0xe50c,0xe50c,0x1a0c,
  267. 0x1a0c,0xe60c,0xe60c,0x190c,0x190c,0xe70c,0xe70c,0x180b,
  268. 0x180b,0x180b,0x180b,0xe80b,0xe80b,0xe80b,0xe80b,0x170b,
  269. 0x170b,0x170b,0x170b,0xe90b,0xe90b,0xe90b,0xe90b,0x160b,
  270. 0x160b,0x160b,0x160b,0xea0b,0xea0b,0xea0b,0xea0b,0x150b,
  271. 0x150b,0x150b,0x150b,0xeb0b,0xeb0b,0xeb0b,0xeb0b,0x140b,
  272. 0x140b,0x140b,0x140b,0xec0b,0xec0b,0xec0b,0xec0b,0x130b,
  273. 0x130b,0x130b,0x130b,0xed0b,0xed0b,0xed0b,0xed0b,0x120b,
  274. 0x120b,0x120b,0x120b,0xee0b,0xee0b,0xee0b,0xee0b,0x110b,
  275. 0x110b,0x110b,0x110b,0xef0b,0xef0b,0xef0b,0xef0b,0x100b,
  276. 0x100b,0x100b,0x100b,0xf00b,0xf00b,0xf00b,0xf00b,0xf0b,
  277. 0xf0b,0xf0b,0xf0b,0xf10b,0xf10b,0xf10b,0xf10b,0xe0b,
  278. 0xe0b,0xe0b,0xe0b,0xf20b,0xf20b,0xf20b,0xf20b,0xd0b,
  279. 0xd0b,0xd0b,0xd0b,0xf30b,0xf30b,0xf30b,0xf30b,0xc0b,
  280. 0xc0b,0xc0b,0xc0b,0xf40b,0xf40b,0xf40b,0xf40b,0xb0b,
  281. 0xb0b,0xb0b,0xb0b,0xf50b,0xf50b,0xf50b,0xf50b,0xa0a,
  282. 0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xf60a,
  283. 0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0x90a,
  284. 0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0xf70a,
  285. 0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0x80a,
  286. 0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0xf80a,
  287. 0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xc0b,
  288. 0xc0b,0xc0b,0xc0b,0xf40b,0xf40b,0xf40b,0xf40b,0xb0b,
  289. 0xb0b,0xb0b,0xb0b,0xf50b,0xf50b,0xf50b,0xf50b,0xa0a,
  290. 0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xa0a,0xf60a,
  291. 0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0xf60a,0x90a,
  292. 0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0x90a,0xf70a,
  293. 0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0xf70a,0x80a,
  294. 0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0x80a,0xf80a,
  295. 0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a,0xf80a
  296. }; //total 512
  297. U32 gTAB_TCOEFF_MAJOR[256]={
  298. 0x3,
  299. 0x3,0x3,0x3,0x3,0x3,0x1,0x1,0x3,
  300. 0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x3,
  301. 0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x3,
  302. 0x3,0x3,0x3,0x3,0x3,0x203,0x203,0x221204,
  303. 0x221206,0x221004,0x221006,0x220e04,0x220e06,0x220c04,0x220c06,0x201a04,
  304. 0x201a06,0x201804,0x201806,0x201604,0x201606,0x200210,0x200212,0x1e0a04,
  305. 0x1e0a04,0x1e0a06,0x1e0a06,0x1e0804,0x1e0804,0x1e0806,0x1e0806,0x1e0604,
  306. 0x1e0604,0x1e0606,0x1e0606,0x1e0404,0x1e0404,0x1e0406,0x1e0406,0x1c1404,
  307. 0x1c1404,0x1c1406,0x1c1406,0x1c1204,0x1c1204,0x1c1206,0x1c1206,0x1c1004,
  308. 0x1c1004,0x1c1006,0x1c1006,0x1c0e04,0x1c0e04,0x1c0e06,0x1c0e06,0x1c0408,
  309. 0x1c0408,0x1c040a,0x1c040a,0x1c020c,0x1c020c,0x1c020e,0x1c020e,0x180c04,
  310. 0x180c04,0x180c04,0x180c04,0x180c06,0x180c06,0x180c06,0x180c06,0x180a04,
  311. 0x180a04,0x180a04,0x180a04,0x180a06,0x180a06,0x180a06,0x180a06,0x180804,
  312. 0x180804,0x180804,0x180804,0x180806,0x180806,0x180806,0x180806,0x160204,
  313. 0x160204,0x160204,0x160204,0x160204,0x160204,0x160204,0x160204,0x160206,
  314. 0x160206,0x160206,0x160206,0x160206,0x160206,0x160206,0x160206,0xc0204,
  315. 0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
  316. 0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
  317. 0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,
  318. 0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0204,0xc0206,
  319. 0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
  320. 0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
  321. 0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,
  322. 0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0xc0206,0x100404,
  323. 0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,
  324. 0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100404,0x100406,
  325. 0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,
  326. 0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x100406,0x140604,
  327. 0x140604,0x140604,0x140604,0x140604,0x140604,0x140604,0x140604,0x140606,
  328. 0x140606,0x140606,0x140606,0x140606,0x140606,0x140606,0x140606,0x140208,
  329. 0x140208,0x140208,0x140208,0x140208,0x140208,0x140208,0x140208,0x14020a,
  330. 0x14020a,0x14020a,0x14020a,0x14020a,0x14020a,0x14020a,0x14020a
  331. }; //total 1024
  332. U32 gTAB_TCOEFF_MINOR[1024]={
  333. 0x100,
  334. 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100,
  335. 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x190204,
  336. 0x190204,0x190205,0x190205,0x190106,0x190106,0x190107,0x190107,0x180116,
  337. 0x180116,0x180117,0x180117,0x180114,0x180114,0x180115,0x180115,0x171d02,
  338. 0x171d02,0x171d02,0x171d02,0x171d03,0x171d03,0x171d03,0x171d03,0x171c02,
  339. 0x171c02,0x171c02,0x171c02,0x171c03,0x171c03,0x171c03,0x171c03,0x171b02,
  340. 0x171b02,0x171b02,0x171b02,0x171b03,0x171b03,0x171b03,0x171b03,0x171a02,
  341. 0x171a02,0x171a02,0x171a02,0x171a03,0x171a03,0x171a03,0x171a03,0x160a04,
  342. 0x160a04,0x160a04,0x160a04,0x160a05,0x160a05,0x160a05,0x160a05,0x160904,
  343. 0x160904,0x160904,0x160904,0x160905,0x160905,0x160905,0x160905,0x160804,
  344. 0x160804,0x160804,0x160804,0x160805,0x160805,0x160805,0x160805,0x160704,
  345. 0x160704,0x160704,0x160704,0x160705,0x160705,0x160705,0x160705,0x160604,
  346. 0x160604,0x160604,0x160604,0x160605,0x160605,0x160605,0x160605,0x160406,
  347. 0x160406,0x160406,0x160406,0x160407,0x160407,0x160407,0x160407,0x160306,
  348. 0x160306,0x160306,0x160306,0x160307,0x160307,0x160307,0x160307,0x160208,
  349. 0x160208,0x160208,0x160208,0x160209,0x160209,0x160209,0x160209,0x180118,
  350. 0x180118,0x180119,0x180119,0x18020a,0x18020a,0x18020b,0x18020b,0x181802,
  351. 0x181802,0x181803,0x181803,0x181902,0x181902,0x181903,0x181903,0x191e02,
  352. 0x191e02,0x191e03,0x191e03,0x191f02,0x191f02,0x191f03,0x191f03,0x192002,
  353. 0x192002,0x192003,0x192003,0x192102,0x192102,0x192103,0x192103,0x1a020c,
  354. 0x1a020d,0x1a0308,0x1a0309,0x1a0506,0x1a0507,0x1a0606,0x1a0607,0x1a0706,
  355. 0x1a0707,0x1a0b04,0x1a0b05,0x1a1a02,0x1a1a03,0x1a1b02,0x1a1b03,0x1b2202,
  356. 0x1b2203,0x1b2302,0x1b2303,0x1b2402,0x1b2403,0x1b2502,0x1b2503,0x1b2602,
  357. 0x1b2603,0x1b2702,0x1b2703,0x1b2802,0x1b2803,0x1b2902,0x1b2903,0x180118,
  358. 0x180118,0x180119,0x180119,0x18020a,0x18020a,0x18020b,0x18020b,0x181802,
  359. 0x181802,0x181803,0x181803,0x181902,0x181902,0x181903,0x181903,0x191e02,
  360. 0x191e02,0x191e03,0x191e03,0x191f02,0x191f02,0x191f03,0x191f03,0x192002,
  361. 0x192002,0x192003,0x192003,0x192102,0x192102,0x192103,0x192103,0x1a020c,
  362. 0x1a020d,0x1a0308,0x1a0309,0x1a0506,0x1a0507,0x1a0606,0x1a0607,0x1a0706,
  363. 0x1a0707,0x1a0b04,0x1a0b05,0x1a1a02,0x1a1a03,0x1a1b02,0x1a1b03,0x1b2202,
  364. 0x1b2203,0x1b2302,0x1b2303,0x1b2402,0x1b2403,0x1b2502,0x1b2503,0x1b2602,
  365. 0x1b2603,0x1b2702,0x1b2703,0x1b2802,0x1b2803,0x1b2902,0x1b2903,0x160112,
  366. 0x160112,0x160112,0x160112,0x160113,0x160113,0x160113,0x160113,0x160110,
  367. 0x160110,0x160110,0x160110,0x160111,0x160111,0x160111,0x160111,0x151902,
  368. 0x151902,0x151902,0x151902,0x151902,0x151902,0x151902,0x151902,0x151903,
  369. 0x151903,0x151903,0x151903,0x151903,0x151903,0x151903,0x151903,0x151802,
  370. 0x151802,0x151802,0x151802,0x151802,0x151802,0x151802,0x151802,0x151803,
  371. 0x151803,0x151803,0x151803,0x151803,0x151803,0x151803,0x151803,0x151702,
  372. 0x151702,0x151702,0x151702,0x151702,0x151702,0x151702,0x151702,0x151703,
  373. 0x151703,0x151703,0x151703,0x151703,0x151703,0x151703,0x151703,0x151602,
  374. 0x151602,0x151602,0x151602,0x151602,0x151602,0x151602,0x151602,0x151603,
  375. 0x151603,0x151603,0x151603,0x151603,0x151603,0x151603,0x151603,0x151502,
  376. 0x151502,0x151502,0x151502,0x151502,0x151502,0x151502,0x151502,0x151503,
  377. 0x151503,0x151503,0x151503,0x151503,0x151503,0x151503,0x151503,0x151402,
  378. 0x151402,0x151402,0x151402,0x151402,0x151402,0x151402,0x151402,0x151403,
  379. 0x151403,0x151403,0x151403,0x151403,0x151403,0x151403,0x151403,0x151302,
  380. 0x151302,0x151302,0x151302,0x151302,0x151302,0x151302,0x151302,0x151303,
  381. 0x151303,0x151303,0x151303,0x151303,0x151303,0x151303,0x151303,0x151202,
  382. 0x151202,0x151202,0x151202,0x151202,0x151202,0x151202,0x151202,0x151203,
  383. 0x151203,0x151203,0x151203,0x151203,0x151203,0x151203,0x151203,0x150104,
  384. 0x150104,0x150104,0x150104,0x150104,0x150104,0x150104,0x150104,0x150105,
  385. 0x150105,0x150105,0x150105,0x150105,0x150105,0x150105,0x150105,0x141702,
  386. 0x141702,0x141702,0x141702,0x141702,0x141702,0x141702,0x141702,0x141703,
  387. 0x141703,0x141703,0x141703,0x141703,0x141703,0x141703,0x141703,0x141602,
  388. 0x141602,0x141602,0x141602,0x141602,0x141602,0x141602,0x141602,0x141603,
  389. 0x141603,0x141603,0x141603,0x141603,0x141603,0x141603,0x141603,0x141502,
  390. 0x141502,0x141502,0x141502,0x141502,0x141502,0x141502,0x141502,0x141503,
  391. 0x141503,0x141503,0x141503,0x141503,0x141503,0x141503,0x141503,0x141402,
  392. 0x141402,0x141402,0x141402,0x141402,0x141402,0x141402,0x141402,0x141403,
  393. 0x141403,0x141403,0x141403,0x141403,0x141403,0x141403,0x141403,0x141302,
  394. 0x141302,0x141302,0x141302,0x141302,0x141302,0x141302,0x141302,0x141303,
  395. 0x141303,0x141303,0x141303,0x141303,0x141303,0x141303,0x141303,0x141202,
  396. 0x141202,0x141202,0x141202,0x141202,0x141202,0x141202,0x141202,0x141203,
  397. 0x141203,0x141203,0x141203,0x141203,0x141203,0x141203,0x141203,0x141102,
  398. 0x141102,0x141102,0x141102,0x141102,0x141102,0x141102,0x141102,0x141103,
  399. 0x141103,0x141103,0x141103,0x141103,0x141103,0x141103,0x141103,0x141002,
  400. 0x141002,0x141002,0x141002,0x141002,0x141002,0x141002,0x141002,0x141003,
  401. 0x141003,0x141003,0x141003,0x141003,0x141003,0x141003,0x141003,0x140504,
  402. 0x140504,0x140504,0x140504,0x140504,0x140504,0x140504,0x140504,0x140505,
  403. 0x140505,0x140505,0x140505,0x140505,0x140505,0x140505,0x140505,0x140404,
  404. 0x140404,0x140404,0x140404,0x140404,0x140404,0x140404,0x140404,0x140405,
  405. 0x140405,0x140405,0x140405,0x140405,0x140405,0x140405,0x140405,0x14010e,
  406. 0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010e,0x14010f,
  407. 0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010f,0x14010c,
  408. 0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010c,0x14010d,
  409. 0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x14010d,0x131102,
  410. 0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,
  411. 0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131102,0x131103,
  412. 0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,
  413. 0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131103,0x131002,
  414. 0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,
  415. 0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131002,0x131003,
  416. 0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,
  417. 0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x131003,0x130f02,
  418. 0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,
  419. 0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f02,0x130f03,
  420. 0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,
  421. 0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130f03,0x130e02,
  422. 0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,
  423. 0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e02,0x130e03,
  424. 0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,
  425. 0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130e03,0x130d02,
  426. 0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,
  427. 0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d02,0x130d03,
  428. 0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,
  429. 0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130d03,0x130c02,
  430. 0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,
  431. 0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c02,0x130c03,
  432. 0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,
  433. 0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130c03,0x130b02,
  434. 0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,
  435. 0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b02,0x130b03,
  436. 0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,
  437. 0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130b03,0x130a02,
  438. 0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,
  439. 0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a02,0x130a03,
  440. 0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,
  441. 0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x130a03,0x120f02,
  442. 0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,
  443. 0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f02,0x120f03,
  444. 0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,
  445. 0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120f03,0x120e02,
  446. 0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,
  447. 0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e02,0x120e03,
  448. 0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,
  449. 0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120e03,0x120304,
  450. 0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,
  451. 0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120304,0x120305,
  452. 0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,
  453. 0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120305,0x120206,
  454. 0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,
  455. 0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120206,0x120207,
  456. 0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,
  457. 0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x120207,0x12010a,
  458. 0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,
  459. 0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010a,0x12010b,
  460. 0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,
  461. 0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b,0x12010b
  462. }; //total 4096
  463. I16 gTAB_INVERSE_Q[1024] = {
  464. 0,
  465. 0, 0, 0, 0, 0, 0, 0, 0,
  466. 0, 0, 0, 0, 0, 0, 0, 0,
  467. 0, 0, 0, 0, 0, 0, 0, 0,
  468. 0, 0, 0, 0, 0, 0, 0, 0,
  469. 0, 3, -3, 5, -5, 7, -7, 9,
  470. -9, 11, -11, 13, -13, 15, -15, 17,
  471. -17, 19, -19, 21, -21, 23, -23, 25,
  472. -25, 27, -27, 29, -29, 31, -31, 0,
  473. 0, 5, -5, 9, -9, 13, -13, 17,
  474. -17, 21, -21, 25, -25, 29, -29, 33,
  475. -33, 37, -37, 41, -41, 45, -45, 49,
  476. -49, 53, -53, 57, -57, 61, -61, 0,
  477. 0, 9, -9, 15, -15, 21, -21, 27,
  478. -27, 33, -33, 39, -39, 45, -45, 51,
  479. -51, 57, -57, 63, -63, 69, -69, 75,
  480. -75, 81, -81, 87, -87, 93, -93, 0,
  481. 0, 11, -11, 19, -19, 27, -27, 35,
  482. -35, 43, -43, 51, -51, 59, -59, 67,
  483. -67, 75, -75, 83, -83, 91, -91, 99,
  484. -99, 107, -107, 115, -115, 123, -123, 0,
  485. 0, 15, -15, 25, -25, 35, -35, 45,
  486. -45, 55, -55, 65, -65, 75, -75, 85,
  487. -85, 95, -95, 105, -105, 115, -115, 125,
  488. -125, 135, -135, 145, -145, 155, -155, 0,
  489. 0, 17, -17, 29, -29, 41, -41, 53,
  490. -53, 65, -65, 77, -77, 89, -89, 101,
  491. -101, 113, -113, 125, -125, 137, -137, 149,
  492. -149, 161, -161, 173, -173, 185, -185, 0,
  493. 0, 21, -21, 35, -35, 49, -49, 63,
  494. -63, 77, -77, 91, -91, 105, -105, 119,
  495. -119, 133, -133, 147, -147, 161, -161, 175,
  496. -175, 189, -189, 203, -203, 217, -217, 0,
  497. 0, 23, -23, 39, -39, 55, -55, 71,
  498. -71, 87, -87, 103, -103, 119, -119, 135,
  499. -135, 151, -151, 167, -167, 183, -183, 199,
  500. -199, 215, -215, 231, -231, 247, -247, 0,
  501. 0, 27, -27, 45, -45, 63, -63, 81,
  502. -81, 99, -99, 117, -117, 135, -135, 153,
  503. -153, 171, -171, 189, -189, 207, -207, 225,
  504. -225, 243, -243, 261, -261, 279, -279, 0,
  505. 0, 29, -29, 49, -49, 69, -69, 89,
  506. -89, 109, -109, 129, -129, 149, -149, 169,
  507. -169, 189, -189, 209, -209, 229, -229, 249,
  508. -249, 269, -269, 289, -289, 309, -309, 0,
  509. 0, 33, -33, 55, -55, 77, -77, 99,
  510. -99, 121, -121, 143, -143, 165, -165, 187,
  511. -187, 209, -209, 231, -231, 253, -253, 275,
  512. -275, 297, -297, 319, -319, 341, -341, 0,
  513. 0, 35, -35, 59, -59, 83, -83, 107,
  514. -107, 131, -131, 155, -155, 179, -179, 203,
  515. -203, 227, -227, 251, -251, 275, -275, 299,
  516. -299, 323, -323, 347, -347, 371, -371, 0,
  517. 0, 39, -39, 65, -65, 91, -91, 117,
  518. -117, 143, -143, 169, -169, 195, -195, 221,
  519. -221, 247, -247, 273, -273, 299, -299, 325,
  520. -325, 351, -351, 377, -377, 403, -403, 0,
  521. 0, 41, -41, 69, -69, 97, -97, 125,
  522. -125, 153, -153, 181, -181, 209, -209, 237,
  523. -237, 265, -265, 293, -293, 321, -321, 349,
  524. -349, 377, -377, 405, -405, 433, -433, 0,
  525. 0, 45, -45, 75, -75, 105, -105, 135,
  526. -135, 165, -165, 195, -195, 225, -225, 255,
  527. -255, 285, -285, 315, -315, 345, -345, 375,
  528. -375, 405, -405, 435, -435, 465, -465, 0,
  529. 0, 47, -47, 79, -79, 111, -111, 143,
  530. -143, 175, -175, 207, -207, 239, -239, 271,
  531. -271, 303, -303, 335, -335, 367, -367, 399,
  532. -399, 431, -431, 463, -463, 495, -495, 0,
  533. 0, 51, -51, 85, -85, 119, -119, 153,
  534. -153, 187, -187, 221, -221, 255, -255, 289,
  535. -289, 323, -323, 357, -357, 391, -391, 425,
  536. -425, 459, -459, 493, -493, 527, -527, 0,
  537. 0, 53, -53, 89, -89, 125, -125, 161,
  538. -161, 197, -197, 233, -233, 269, -269, 305,
  539. -305, 341, -341, 377, -377, 413, -413, 449,
  540. -449, 485, -485, 521, -521, 557, -557, 0,
  541. 0, 57, -57, 95, -95, 133, -133, 171,
  542. -171, 209, -209, 247, -247, 285, -285, 323,
  543. -323, 361, -361, 399, -399, 437, -437, 475,
  544. -475, 513, -513, 551, -551, 589, -589, 0,
  545. 0, 59, -59, 99, -99, 139, -139, 179,
  546. -179, 219, -219, 259, -259, 299, -299, 339,
  547. -339, 379, -379, 419, -419, 459, -459, 499,
  548. -499, 539, -539, 579, -579, 619, -619, 0,
  549. 0, 63, -63, 105, -105, 147, -147, 189,
  550. -189, 231, -231, 273, -273, 315, -315, 357,
  551. -357, 399, -399, 441, -441, 483, -483, 525,
  552. -525, 567, -567, 609, -609, 651, -651, 0,
  553. 0, 65, -65, 109, -109, 153, -153, 197,
  554. -197, 241, -241, 285, -285, 329, -329, 373,
  555. -373, 417, -417, 461, -461, 505, -505, 549,
  556. -549, 593, -593, 637, -637, 681, -681, 0,
  557. 0, 69, -69, 115, -115, 161, -161, 207,
  558. -207, 253, -253, 299, -299, 345, -345, 391,
  559. -391, 437, -437, 483, -483, 529, -529, 575,
  560. -575, 621, -621, 667, -667, 713, -713, 0,
  561. 0, 71, -71, 119, -119, 167, -167, 215,
  562. -215, 263, -263, 311, -311, 359, -359, 407,
  563. -407, 455, -455, 503, -503, 551, -551, 599,
  564. -599, 647, -647, 695, -695, 743, -743, 0,
  565. 0, 75, -75, 125, -125, 175, -175, 225,
  566. -225, 275, -275, 325, -325, 375, -375, 425,
  567. -425, 475, -475, 525, -525, 575, -575, 625,
  568. -625, 675, -675, 725, -725, 775, -775, 0,
  569. 0, 77, -77, 129, -129, 181, -181, 233,
  570. -233, 285, -285, 337, -337, 389, -389, 441,
  571. -441, 493, -493, 545, -545, 597, -597, 649,
  572. -649, 701, -701, 753, -753, 805, -805, 0,
  573. 0, 81, -81, 135, -135, 189, -189, 243,
  574. -243, 297, -297, 351, -351, 405, -405, 459,
  575. -459, 513, -513, 567, -567, 621, -621, 675,
  576. -675, 729, -729, 783, -783, 837, -837, 0,
  577. 0, 83, -83, 139, -139, 195, -195, 251,
  578. -251, 307, -307, 363, -363, 419, -419, 475,
  579. -475, 531, -531, 587, -587, 643, -643, 699,
  580. -699, 755, -755, 811, -811, 867, -867, 0,
  581. 0, 87, -87, 145, -145, 203, -203, 261,
  582. -261, 319, -319, 377, -377, 435, -435, 493,
  583. -493, 551, -551, 609, -609, 667, -667, 725,
  584. -725, 783, -783, 841, -841, 899, -899, 0,
  585. 0, 89, -89, 149, -149, 209, -209, 269,
  586. -269, 329, -329, 389, -389, 449, -449, 509,
  587. -509, 569, -569, 629, -629, 689, -689, 749,
  588. -749, 809, -809, 869, -869, 929, -929, 0,
  589. 0, 93, -93, 155, -155, 217, -217, 279,
  590. -279, 341, -341, 403, -403, 465, -465, 527,
  591. -527, 589, -589, 651, -651, 713, -713, 775,
  592. -775, 837, -837, 899, -899, 961, -961
  593. };
  594. U32 gTAB_ZZ_RUN[64]= { 0, 1, 8, 16, 9, 2, 3, 10,
  595. 17, 24, 32, 25, 18, 11, 4, 5,
  596. 12, 19, 26, 33, 40, 48, 41, 34,
  597. 27, 20, 13, 6, 7, 14, 21, 28,
  598. 35, 42, 49, 56, 57, 50, 43, 36,
  599. 29, 22, 15, 23, 30, 37, 44, 51,
  600. 58, 59, 52, 45, 38, 31, 39, 46,
  601. 53, 60, 61, 54, 47, 55, 62, 63
  602. }
  603. ; //input is the cumulative run value