Bug 678028 - Fix build with clang in c++0x mode. r=joe
authorRafael Ávila de Espíndola <respindola@mozilla.com>
Tue, 16 Aug 2011 13:30:33 -0400
changeset 75417 8f315a50dcc9736e0efa47d8110fc14dc3d80415
parent 75416 be62b6c4392a9eb07d5a570ba9a1450c1aa8d805
child 75418 565a69914c4bee1e554cf47f04bd6f6b14e55f2a
push id21023
push usermak77@bonardo.net
push dateThu, 18 Aug 2011 09:39:20 +0000
treeherdermozilla-central@f69a10f23bf3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 678028 - Fix build with clang in c++0x mode. r=joe In c++0x mode it is not valid to have an integer that doesn't fit a type in an initializer list. This patch just writes the constants as explicitly signed instead of using unsigned constants with 2 complement.
--- a/modules/libpr0n/decoders/nsJPEGDecoder.cpp
+++ b/modules/libpr0n/decoders/nsJPEGDecoder.cpp
@@ -918,197 +918,197 @@ term_source (j_decompress_ptr jd)
 #define SCALEBITS       16      /* speediest right-shift on some machines */
 /* Use static tables for color processing. */
 /* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
 const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-  0xffffff4dU, 0xffffff4eU, 0xffffff4fU, 0xffffff51U, 0xffffff52U, 0xffffff54U, 
-  0xffffff55U, 0xffffff56U, 0xffffff58U, 0xffffff59U, 0xffffff5bU, 0xffffff5cU, 
-  0xffffff5dU, 0xffffff5fU, 0xffffff60U, 0xffffff62U, 0xffffff63U, 0xffffff64U, 
-  0xffffff66U, 0xffffff67U, 0xffffff69U, 0xffffff6aU, 0xffffff6bU, 0xffffff6dU, 
-  0xffffff6eU, 0xffffff70U, 0xffffff71U, 0xffffff72U, 0xffffff74U, 0xffffff75U, 
-  0xffffff77U, 0xffffff78U, 0xffffff79U, 0xffffff7bU, 0xffffff7cU, 0xffffff7eU, 
-  0xffffff7fU, 0xffffff80U, 0xffffff82U, 0xffffff83U, 0xffffff85U, 0xffffff86U, 
-  0xffffff87U, 0xffffff89U, 0xffffff8aU, 0xffffff8cU, 0xffffff8dU, 0xffffff8eU, 
-  0xffffff90U, 0xffffff91U, 0xffffff93U, 0xffffff94U, 0xffffff95U, 0xffffff97U, 
-  0xffffff98U, 0xffffff9aU, 0xffffff9bU, 0xffffff9cU, 0xffffff9eU, 0xffffff9fU, 
-  0xffffffa1U, 0xffffffa2U, 0xffffffa3U, 0xffffffa5U, 0xffffffa6U, 0xffffffa8U, 
-  0xffffffa9U, 0xffffffaaU, 0xffffffacU, 0xffffffadU, 0xffffffafU, 0xffffffb0U, 
-  0xffffffb1U, 0xffffffb3U, 0xffffffb4U, 0xffffffb6U, 0xffffffb7U, 0xffffffb8U, 
-  0xffffffbaU, 0xffffffbbU, 0xffffffbdU, 0xffffffbeU, 0xffffffc0U, 0xffffffc1U, 
-  0xffffffc2U, 0xffffffc4U, 0xffffffc5U, 0xffffffc7U, 0xffffffc8U, 0xffffffc9U, 
-  0xffffffcbU, 0xffffffccU, 0xffffffceU, 0xffffffcfU, 0xffffffd0U, 0xffffffd2U, 
-  0xffffffd3U, 0xffffffd5U, 0xffffffd6U, 0xffffffd7U, 0xffffffd9U, 0xffffffdaU, 
-  0xffffffdcU, 0xffffffddU, 0xffffffdeU, 0xffffffe0U, 0xffffffe1U, 0xffffffe3U, 
-  0xffffffe4U, 0xffffffe5U, 0xffffffe7U, 0xffffffe8U, 0xffffffeaU, 0xffffffebU, 
-  0xffffffecU, 0xffffffeeU, 0xffffffefU, 0xfffffff1U, 0xfffffff2U, 0xfffffff3U, 
-  0xfffffff5U, 0xfffffff6U, 0xfffffff8U, 0xfffffff9U, 0xfffffffaU, 0xfffffffcU, 
-  0xfffffffdU, 0xffffffffU,       0x00U,       0x01U,       0x03U,       0x04U, 
-        0x06U,       0x07U,       0x08U,       0x0aU,       0x0bU,       0x0dU, 
-        0x0eU,       0x0fU,       0x11U,       0x12U,       0x14U,       0x15U, 
-        0x16U,       0x18U,       0x19U,       0x1bU,       0x1cU,       0x1dU, 
-        0x1fU,       0x20U,       0x22U,       0x23U,       0x24U,       0x26U, 
-        0x27U,       0x29U,       0x2aU,       0x2bU,       0x2dU,       0x2eU, 
-        0x30U,       0x31U,       0x32U,       0x34U,       0x35U,       0x37U, 
-        0x38U,       0x39U,       0x3bU,       0x3cU,       0x3eU,       0x3fU, 
-        0x40U,       0x42U,       0x43U,       0x45U,       0x46U,       0x48U, 
-        0x49U,       0x4aU,       0x4cU,       0x4dU,       0x4fU,       0x50U, 
-        0x51U,       0x53U,       0x54U,       0x56U,       0x57U,       0x58U, 
-        0x5aU,       0x5bU,       0x5dU,       0x5eU,       0x5fU,       0x61U, 
-        0x62U,       0x64U,       0x65U,       0x66U,       0x68U,       0x69U, 
-        0x6bU,       0x6cU,       0x6dU,       0x6fU,       0x70U,       0x72U, 
-        0x73U,       0x74U,       0x76U,       0x77U,       0x79U,       0x7aU, 
-        0x7bU,       0x7dU,       0x7eU,       0x80U,       0x81U,       0x82U, 
-        0x84U,       0x85U,       0x87U,       0x88U,       0x89U,       0x8bU, 
-        0x8cU,       0x8eU,       0x8fU,       0x90U,       0x92U,       0x93U, 
-        0x95U,       0x96U,       0x97U,       0x99U,       0x9aU,       0x9cU, 
-        0x9dU,       0x9eU,       0xa0U,       0xa1U,       0xa3U,       0xa4U, 
-        0xa5U,       0xa7U,       0xa8U,       0xaaU,       0xabU,       0xacU, 
-        0xaeU,       0xafU,       0xb1U,       0xb2U
+       -0xb3,       -0xb2,       -0xb1,       -0xaf,       -0xae,       -0xac,
+       -0xab,       -0xaa,       -0xa8,       -0xa7,       -0xa5,       -0xa4,
+       -0xa3,       -0xa1,       -0xa0,       -0x9e,       -0x9d,       -0x9c,
+       -0x9a,       -0x99,       -0x97,       -0x96,       -0x95,       -0x93,
+       -0x92,       -0x90,       -0x8f,       -0x8e,       -0x8c,       -0x8b,
+       -0x89,       -0x88,       -0x87,       -0x85,       -0x84,       -0x82,
+       -0x81,       -0x80,       -0x7e,       -0x7d,       -0x7b,       -0x7a,
+       -0x79,       -0x77,       -0x76,       -0x74,       -0x73,       -0x72,
+       -0x70,       -0x6f,       -0x6d,       -0x6c,       -0x6b,       -0x69,
+       -0x68,       -0x66,       -0x65,       -0x64,       -0x62,       -0x61,
+       -0x5f,       -0x5e,       -0x5d,       -0x5b,       -0x5a,       -0x58,
+       -0x57,       -0x56,       -0x54,       -0x53,       -0x51,       -0x50,
+       -0x4f,       -0x4d,       -0x4c,       -0x4a,       -0x49,       -0x48,
+       -0x46,       -0x45,       -0x43,       -0x42,       -0x40,       -0x3f,
+       -0x3e,       -0x3c,       -0x3b,       -0x39,       -0x38,       -0x37,
+       -0x35,       -0x34,       -0x32,       -0x31,       -0x30,       -0x2e,
+       -0x2d,       -0x2b,       -0x2a,       -0x29,       -0x27,       -0x26,
+       -0x24,       -0x23,       -0x22,       -0x20,       -0x1f,       -0x1d,
+       -0x1c,       -0x1b,       -0x19,       -0x18,       -0x16,       -0x15,
+       -0x14,       -0x12,       -0x11,       -0x0f,       -0x0e,       -0x0d,
+       -0x0b,       -0x0a,       -0x08,       -0x07,       -0x06,       -0x04,
+       -0x03,       -0x01,        0x00,        0x01,        0x03,        0x04,
+        0x06,        0x07,        0x08,        0x0a,        0x0b,        0x0d,
+        0x0e,        0x0f,        0x11,        0x12,        0x14,        0x15,
+        0x16,        0x18,        0x19,        0x1b,        0x1c,        0x1d,
+        0x1f,        0x20,        0x22,        0x23,        0x24,        0x26,
+        0x27,        0x29,        0x2a,        0x2b,        0x2d,        0x2e,
+        0x30,        0x31,        0x32,        0x34,        0x35,        0x37,
+        0x38,        0x39,        0x3b,        0x3c,        0x3e,        0x3f,
+        0x40,        0x42,        0x43,        0x45,        0x46,        0x48,
+        0x49,        0x4a,        0x4c,        0x4d,        0x4f,        0x50,
+        0x51,        0x53,        0x54,        0x56,        0x57,        0x58,
+        0x5a,        0x5b,        0x5d,        0x5e,        0x5f,        0x61,
+        0x62,        0x64,        0x65,        0x66,        0x68,        0x69,
+        0x6b,        0x6c,        0x6d,        0x6f,        0x70,        0x72,
+        0x73,        0x74,        0x76,        0x77,        0x79,        0x7a,
+        0x7b,        0x7d,        0x7e,        0x80,        0x81,        0x82,
+        0x84,        0x85,        0x87,        0x88,        0x89,        0x8b,
+        0x8c,        0x8e,        0x8f,        0x90,        0x92,        0x93,
+        0x95,        0x96,        0x97,        0x99,        0x9a,        0x9c,
+        0x9d,        0x9e,        0xa0,        0xa1,        0xa3,        0xa4,
+        0xa5,        0xa7,        0xa8,        0xaa,        0xab,        0xac,
+        0xae,        0xaf,        0xb1,        0xb2,
 const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-  0xffffff1dU, 0xffffff1fU, 0xffffff21U, 0xffffff22U, 0xffffff24U, 0xffffff26U, 
-  0xffffff28U, 0xffffff2aU, 0xffffff2bU, 0xffffff2dU, 0xffffff2fU, 0xffffff31U, 
-  0xffffff32U, 0xffffff34U, 0xffffff36U, 0xffffff38U, 0xffffff3aU, 0xffffff3bU, 
-  0xffffff3dU, 0xffffff3fU, 0xffffff41U, 0xffffff42U, 0xffffff44U, 0xffffff46U, 
-  0xffffff48U, 0xffffff49U, 0xffffff4bU, 0xffffff4dU, 0xffffff4fU, 0xffffff51U, 
-  0xffffff52U, 0xffffff54U, 0xffffff56U, 0xffffff58U, 0xffffff59U, 0xffffff5bU, 
-  0xffffff5dU, 0xffffff5fU, 0xffffff61U, 0xffffff62U, 0xffffff64U, 0xffffff66U, 
-  0xffffff68U, 0xffffff69U, 0xffffff6bU, 0xffffff6dU, 0xffffff6fU, 0xffffff70U, 
-  0xffffff72U, 0xffffff74U, 0xffffff76U, 0xffffff78U, 0xffffff79U, 0xffffff7bU, 
-  0xffffff7dU, 0xffffff7fU, 0xffffff80U, 0xffffff82U, 0xffffff84U, 0xffffff86U, 
-  0xffffff88U, 0xffffff89U, 0xffffff8bU, 0xffffff8dU, 0xffffff8fU, 0xffffff90U, 
-  0xffffff92U, 0xffffff94U, 0xffffff96U, 0xffffff97U, 0xffffff99U, 0xffffff9bU, 
-  0xffffff9dU, 0xffffff9fU, 0xffffffa0U, 0xffffffa2U, 0xffffffa4U, 0xffffffa6U, 
-  0xffffffa7U, 0xffffffa9U, 0xffffffabU, 0xffffffadU, 0xffffffaeU, 0xffffffb0U, 
-  0xffffffb2U, 0xffffffb4U, 0xffffffb6U, 0xffffffb7U, 0xffffffb9U, 0xffffffbbU, 
-  0xffffffbdU, 0xffffffbeU, 0xffffffc0U, 0xffffffc2U, 0xffffffc4U, 0xffffffc6U, 
-  0xffffffc7U, 0xffffffc9U, 0xffffffcbU, 0xffffffcdU, 0xffffffceU, 0xffffffd0U, 
-  0xffffffd2U, 0xffffffd4U, 0xffffffd5U, 0xffffffd7U, 0xffffffd9U, 0xffffffdbU, 
-  0xffffffddU, 0xffffffdeU, 0xffffffe0U, 0xffffffe2U, 0xffffffe4U, 0xffffffe5U, 
-  0xffffffe7U, 0xffffffe9U, 0xffffffebU, 0xffffffedU, 0xffffffeeU, 0xfffffff0U, 
-  0xfffffff2U, 0xfffffff4U, 0xfffffff5U, 0xfffffff7U, 0xfffffff9U, 0xfffffffbU, 
-  0xfffffffcU, 0xfffffffeU,       0x00U,       0x02U,       0x04U,       0x05U, 
-        0x07U,       0x09U,       0x0bU,       0x0cU,       0x0eU,       0x10U, 
-        0x12U,       0x13U,       0x15U,       0x17U,       0x19U,       0x1bU, 
-        0x1cU,       0x1eU,       0x20U,       0x22U,       0x23U,       0x25U, 
-        0x27U,       0x29U,       0x2bU,       0x2cU,       0x2eU,       0x30U, 
-        0x32U,       0x33U,       0x35U,       0x37U,       0x39U,       0x3aU, 
-        0x3cU,       0x3eU,       0x40U,       0x42U,       0x43U,       0x45U, 
-        0x47U,       0x49U,       0x4aU,       0x4cU,       0x4eU,       0x50U, 
-        0x52U,       0x53U,       0x55U,       0x57U,       0x59U,       0x5aU, 
-        0x5cU,       0x5eU,       0x60U,       0x61U,       0x63U,       0x65U, 
-        0x67U,       0x69U,       0x6aU,       0x6cU,       0x6eU,       0x70U, 
-        0x71U,       0x73U,       0x75U,       0x77U,       0x78U,       0x7aU, 
-        0x7cU,       0x7eU,       0x80U,       0x81U,       0x83U,       0x85U, 
-        0x87U,       0x88U,       0x8aU,       0x8cU,       0x8eU,       0x90U, 
-        0x91U,       0x93U,       0x95U,       0x97U,       0x98U,       0x9aU, 
-        0x9cU,       0x9eU,       0x9fU,       0xa1U,       0xa3U,       0xa5U, 
-        0xa7U,       0xa8U,       0xaaU,       0xacU,       0xaeU,       0xafU, 
-        0xb1U,       0xb3U,       0xb5U,       0xb7U,       0xb8U,       0xbaU, 
-        0xbcU,       0xbeU,       0xbfU,       0xc1U,       0xc3U,       0xc5U, 
-        0xc6U,       0xc8U,       0xcaU,       0xccU,       0xceU,       0xcfU, 
-        0xd1U,       0xd3U,       0xd5U,       0xd6U,       0xd8U,       0xdaU, 
-        0xdcU,       0xdeU,       0xdfU,       0xe1U
+       -0xe3,       -0xe1,       -0xdf,       -0xde,       -0xdc,       -0xda,
+       -0xd8,       -0xd6,       -0xd5,       -0xd3,       -0xd1,       -0xcf,
+       -0xce,       -0xcc,       -0xca,       -0xc8,       -0xc6,       -0xc5,
+       -0xc3,       -0xc1,       -0xbf,       -0xbe,       -0xbc,       -0xba,
+       -0xb8,       -0xb7,       -0xb5,       -0xb3,       -0xb1,       -0xaf,
+       -0xae,       -0xac,       -0xaa,       -0xa8,       -0xa7,       -0xa5,
+       -0xa3,       -0xa1,       -0x9f,       -0x9e,       -0x9c,       -0x9a,
+       -0x98,       -0x97,       -0x95,       -0x93,       -0x91,       -0x90,
+       -0x8e,       -0x8c,       -0x8a,       -0x88,       -0x87,       -0x85,
+       -0x83,       -0x81,       -0x80,       -0x7e,       -0x7c,       -0x7a,
+       -0x78,       -0x77,       -0x75,       -0x73,       -0x71,       -0x70,
+       -0x6e,       -0x6c,       -0x6a,       -0x69,       -0x67,       -0x65,
+       -0x63,       -0x61,       -0x60,       -0x5e,       -0x5c,       -0x5a,
+       -0x59,       -0x57,       -0x55,       -0x53,       -0x52,       -0x50,
+       -0x4e,       -0x4c,       -0x4a,       -0x49,       -0x47,       -0x45,
+       -0x43,       -0x42,       -0x40,       -0x3e,       -0x3c,       -0x3a,
+       -0x39,       -0x37,       -0x35,       -0x33,       -0x32,       -0x30,
+       -0x2e,       -0x2c,       -0x2b,       -0x29,       -0x27,       -0x25,
+       -0x23,       -0x22,       -0x20,       -0x1e,       -0x1c,       -0x1b,
+       -0x19,       -0x17,       -0x15,       -0x13,       -0x12,       -0x10,
+       -0x0e,       -0x0c,       -0x0b,       -0x09,       -0x07,       -0x05,
+       -0x04,       -0x02,        0x00,        0x02,        0x04,        0x05,
+        0x07,        0x09,        0x0b,        0x0c,        0x0e,        0x10,
+        0x12,        0x13,        0x15,        0x17,        0x19,        0x1b,
+        0x1c,        0x1e,        0x20,        0x22,        0x23,        0x25,
+        0x27,        0x29,        0x2b,        0x2c,        0x2e,        0x30,
+        0x32,        0x33,        0x35,        0x37,        0x39,        0x3a,
+        0x3c,        0x3e,        0x40,        0x42,        0x43,        0x45,
+        0x47,        0x49,        0x4a,        0x4c,        0x4e,        0x50,
+        0x52,        0x53,        0x55,        0x57,        0x59,        0x5a,
+        0x5c,        0x5e,        0x60,        0x61,        0x63,        0x65,
+        0x67,        0x69,        0x6a,        0x6c,        0x6e,        0x70,
+        0x71,        0x73,        0x75,        0x77,        0x78,        0x7a,
+        0x7c,        0x7e,        0x80,        0x81,        0x83,        0x85,
+        0x87,        0x88,        0x8a,        0x8c,        0x8e,        0x90,
+        0x91,        0x93,        0x95,        0x97,        0x98,        0x9a,
+        0x9c,        0x9e,        0x9f,        0xa1,        0xa3,        0xa5,
+        0xa7,        0xa8,        0xaa,        0xac,        0xae,        0xaf,
+        0xb1,        0xb3,        0xb5,        0xb7,        0xb8,        0xba,
+        0xbc,        0xbe,        0xbf,        0xc1,        0xc3,        0xc5,
+        0xc6,        0xc8,        0xca,        0xcc,        0xce,        0xcf,
+        0xd1,        0xd3,        0xd5,        0xd6,        0xd8,        0xda,
+        0xdc,        0xde,        0xdf,        0xe1,
 const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-    0x5b6900U,   0x5ab22eU,   0x59fb5cU,   0x59448aU,   0x588db8U,   0x57d6e6U, 
-    0x572014U,   0x566942U,   0x55b270U,   0x54fb9eU,   0x5444ccU,   0x538dfaU, 
-    0x52d728U,   0x522056U,   0x516984U,   0x50b2b2U,   0x4ffbe0U,   0x4f450eU, 
-    0x4e8e3cU,   0x4dd76aU,   0x4d2098U,   0x4c69c6U,   0x4bb2f4U,   0x4afc22U, 
-    0x4a4550U,   0x498e7eU,   0x48d7acU,   0x4820daU,   0x476a08U,   0x46b336U, 
-    0x45fc64U,   0x454592U,   0x448ec0U,   0x43d7eeU,   0x43211cU,   0x426a4aU, 
-    0x41b378U,   0x40fca6U,   0x4045d4U,   0x3f8f02U,   0x3ed830U,   0x3e215eU, 
-    0x3d6a8cU,   0x3cb3baU,   0x3bfce8U,   0x3b4616U,   0x3a8f44U,   0x39d872U, 
-    0x3921a0U,   0x386aceU,   0x37b3fcU,   0x36fd2aU,   0x364658U,   0x358f86U, 
-    0x34d8b4U,   0x3421e2U,   0x336b10U,   0x32b43eU,   0x31fd6cU,   0x31469aU, 
-    0x308fc8U,   0x2fd8f6U,   0x2f2224U,   0x2e6b52U,   0x2db480U,   0x2cfdaeU, 
-    0x2c46dcU,   0x2b900aU,   0x2ad938U,   0x2a2266U,   0x296b94U,   0x28b4c2U, 
-    0x27fdf0U,   0x27471eU,   0x26904cU,   0x25d97aU,   0x2522a8U,   0x246bd6U, 
-    0x23b504U,   0x22fe32U,   0x224760U,   0x21908eU,   0x20d9bcU,   0x2022eaU, 
-    0x1f6c18U,   0x1eb546U,   0x1dfe74U,   0x1d47a2U,   0x1c90d0U,   0x1bd9feU, 
-    0x1b232cU,   0x1a6c5aU,   0x19b588U,   0x18feb6U,   0x1847e4U,   0x179112U, 
-    0x16da40U,   0x16236eU,   0x156c9cU,   0x14b5caU,   0x13fef8U,   0x134826U, 
-    0x129154U,   0x11da82U,   0x1123b0U,   0x106cdeU,    0xfb60cU,    0xeff3aU, 
-     0xe4868U,    0xd9196U,    0xcdac4U,    0xc23f2U,    0xb6d20U,    0xab64eU, 
-     0x9ff7cU,    0x948aaU,    0x891d8U,    0x7db06U,    0x72434U,    0x66d62U, 
-     0x5b690U,    0x4ffbeU,    0x448ecU,    0x3921aU,    0x2db48U,    0x22476U, 
-     0x16da4U,     0xb6d2U,        0x0U, 0xffff492eU, 0xfffe925cU, 0xfffddb8aU, 
-  0xfffd24b8U, 0xfffc6de6U, 0xfffbb714U, 0xfffb0042U, 0xfffa4970U, 0xfff9929eU, 
-  0xfff8dbccU, 0xfff824faU, 0xfff76e28U, 0xfff6b756U, 0xfff60084U, 0xfff549b2U, 
-  0xfff492e0U, 0xfff3dc0eU, 0xfff3253cU, 0xfff26e6aU, 0xfff1b798U, 0xfff100c6U, 
-  0xfff049f4U, 0xffef9322U, 0xffeedc50U, 0xffee257eU, 0xffed6eacU, 0xffecb7daU, 
-  0xffec0108U, 0xffeb4a36U, 0xffea9364U, 0xffe9dc92U, 0xffe925c0U, 0xffe86eeeU, 
-  0xffe7b81cU, 0xffe7014aU, 0xffe64a78U, 0xffe593a6U, 0xffe4dcd4U, 0xffe42602U, 
-  0xffe36f30U, 0xffe2b85eU, 0xffe2018cU, 0xffe14abaU, 0xffe093e8U, 0xffdfdd16U, 
-  0xffdf2644U, 0xffde6f72U, 0xffddb8a0U, 0xffdd01ceU, 0xffdc4afcU, 0xffdb942aU, 
-  0xffdadd58U, 0xffda2686U, 0xffd96fb4U, 0xffd8b8e2U, 0xffd80210U, 0xffd74b3eU, 
-  0xffd6946cU, 0xffd5dd9aU, 0xffd526c8U, 0xffd46ff6U, 0xffd3b924U, 0xffd30252U, 
-  0xffd24b80U, 0xffd194aeU, 0xffd0dddcU, 0xffd0270aU, 0xffcf7038U, 0xffceb966U, 
-  0xffce0294U, 0xffcd4bc2U, 0xffcc94f0U, 0xffcbde1eU, 0xffcb274cU, 0xffca707aU, 
-  0xffc9b9a8U, 0xffc902d6U, 0xffc84c04U, 0xffc79532U, 0xffc6de60U, 0xffc6278eU, 
-  0xffc570bcU, 0xffc4b9eaU, 0xffc40318U, 0xffc34c46U, 0xffc29574U, 0xffc1dea2U, 
-  0xffc127d0U, 0xffc070feU, 0xffbfba2cU, 0xffbf035aU, 0xffbe4c88U, 0xffbd95b6U, 
-  0xffbcdee4U, 0xffbc2812U, 0xffbb7140U, 0xffbaba6eU, 0xffba039cU, 0xffb94ccaU, 
-  0xffb895f8U, 0xffb7df26U, 0xffb72854U, 0xffb67182U, 0xffb5bab0U, 0xffb503deU, 
-  0xffb44d0cU, 0xffb3963aU, 0xffb2df68U, 0xffb22896U, 0xffb171c4U, 0xffb0baf2U, 
-  0xffb00420U, 0xffaf4d4eU, 0xffae967cU, 0xffaddfaaU, 0xffad28d8U, 0xffac7206U, 
-  0xffabbb34U, 0xffab0462U, 0xffaa4d90U, 0xffa996beU, 0xffa8dfecU, 0xffa8291aU, 
-  0xffa77248U, 0xffa6bb76U, 0xffa604a4U, 0xffa54dd2U
+    0x5b6900,    0x5ab22e,    0x59fb5c,    0x59448a,    0x588db8,    0x57d6e6,
+    0x572014,    0x566942,    0x55b270,    0x54fb9e,    0x5444cc,    0x538dfa,
+    0x52d728,    0x522056,    0x516984,    0x50b2b2,    0x4ffbe0,    0x4f450e,
+    0x4e8e3c,    0x4dd76a,    0x4d2098,    0x4c69c6,    0x4bb2f4,    0x4afc22,
+    0x4a4550,    0x498e7e,    0x48d7ac,    0x4820da,    0x476a08,    0x46b336,
+    0x45fc64,    0x454592,    0x448ec0,    0x43d7ee,    0x43211c,    0x426a4a,
+    0x41b378,    0x40fca6,    0x4045d4,    0x3f8f02,    0x3ed830,    0x3e215e,
+    0x3d6a8c,    0x3cb3ba,    0x3bfce8,    0x3b4616,    0x3a8f44,    0x39d872,
+    0x3921a0,    0x386ace,    0x37b3fc,    0x36fd2a,    0x364658,    0x358f86,
+    0x34d8b4,    0x3421e2,    0x336b10,    0x32b43e,    0x31fd6c,    0x31469a,
+    0x308fc8,    0x2fd8f6,    0x2f2224,    0x2e6b52,    0x2db480,    0x2cfdae,
+    0x2c46dc,    0x2b900a,    0x2ad938,    0x2a2266,    0x296b94,    0x28b4c2,
+    0x27fdf0,    0x27471e,    0x26904c,    0x25d97a,    0x2522a8,    0x246bd6,
+    0x23b504,    0x22fe32,    0x224760,    0x21908e,    0x20d9bc,    0x2022ea,
+    0x1f6c18,    0x1eb546,    0x1dfe74,    0x1d47a2,    0x1c90d0,    0x1bd9fe,
+    0x1b232c,    0x1a6c5a,    0x19b588,    0x18feb6,    0x1847e4,    0x179112,
+    0x16da40,    0x16236e,    0x156c9c,    0x14b5ca,    0x13fef8,    0x134826,
+    0x129154,    0x11da82,    0x1123b0,    0x106cde,    0x0fb60c,    0x0eff3a,
+    0x0e4868,    0x0d9196,    0x0cdac4,    0x0c23f2,    0x0b6d20,    0x0ab64e,
+    0x09ff7c,    0x0948aa,    0x0891d8,    0x07db06,    0x072434,    0x066d62,
+    0x05b690,    0x04ffbe,    0x0448ec,    0x03921a,    0x02db48,    0x022476,
+    0x016da4,    0x00b6d2,    0x000000,   -0x00b6d2,   -0x016da4,   -0x022476,
+   -0x02db48,   -0x03921a,   -0x0448ec,   -0x04ffbe,   -0x05b690,   -0x066d62,
+   -0x072434,   -0x07db06,   -0x0891d8,   -0x0948aa,   -0x09ff7c,   -0x0ab64e,
+   -0x0b6d20,   -0x0c23f2,   -0x0cdac4,   -0x0d9196,   -0x0e4868,   -0x0eff3a,
+   -0x0fb60c,   -0x106cde,   -0x1123b0,   -0x11da82,   -0x129154,   -0x134826,
+   -0x13fef8,   -0x14b5ca,   -0x156c9c,   -0x16236e,   -0x16da40,   -0x179112,
+   -0x1847e4,   -0x18feb6,   -0x19b588,   -0x1a6c5a,   -0x1b232c,   -0x1bd9fe,
+   -0x1c90d0,   -0x1d47a2,   -0x1dfe74,   -0x1eb546,   -0x1f6c18,   -0x2022ea,
+   -0x20d9bc,   -0x21908e,   -0x224760,   -0x22fe32,   -0x23b504,   -0x246bd6,
+   -0x2522a8,   -0x25d97a,   -0x26904c,   -0x27471e,   -0x27fdf0,   -0x28b4c2,
+   -0x296b94,   -0x2a2266,   -0x2ad938,   -0x2b900a,   -0x2c46dc,   -0x2cfdae,
+   -0x2db480,   -0x2e6b52,   -0x2f2224,   -0x2fd8f6,   -0x308fc8,   -0x31469a,
+   -0x31fd6c,   -0x32b43e,   -0x336b10,   -0x3421e2,   -0x34d8b4,   -0x358f86,
+   -0x364658,   -0x36fd2a,   -0x37b3fc,   -0x386ace,   -0x3921a0,   -0x39d872,
+   -0x3a8f44,   -0x3b4616,   -0x3bfce8,   -0x3cb3ba,   -0x3d6a8c,   -0x3e215e,
+   -0x3ed830,   -0x3f8f02,   -0x4045d4,   -0x40fca6,   -0x41b378,   -0x426a4a,
+   -0x43211c,   -0x43d7ee,   -0x448ec0,   -0x454592,   -0x45fc64,   -0x46b336,
+   -0x476a08,   -0x4820da,   -0x48d7ac,   -0x498e7e,   -0x4a4550,   -0x4afc22,
+   -0x4bb2f4,   -0x4c69c6,   -0x4d2098,   -0x4dd76a,   -0x4e8e3c,   -0x4f450e,
+   -0x4ffbe0,   -0x50b2b2,   -0x516984,   -0x522056,   -0x52d728,   -0x538dfa,
+   -0x5444cc,   -0x54fb9e,   -0x55b270,   -0x566942,   -0x572014,   -0x57d6e6,
+   -0x588db8,   -0x59448a,   -0x59fb5c,   -0x5ab22e,
 const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-    0x2c8d00U,   0x2c34e6U,   0x2bdcccU,   0x2b84b2U,   0x2b2c98U,   0x2ad47eU, 
-    0x2a7c64U,   0x2a244aU,   0x29cc30U,   0x297416U,   0x291bfcU,   0x28c3e2U, 
-    0x286bc8U,   0x2813aeU,   0x27bb94U,   0x27637aU,   0x270b60U,   0x26b346U, 
-    0x265b2cU,   0x260312U,   0x25aaf8U,   0x2552deU,   0x24fac4U,   0x24a2aaU, 
-    0x244a90U,   0x23f276U,   0x239a5cU,   0x234242U,   0x22ea28U,   0x22920eU, 
-    0x2239f4U,   0x21e1daU,   0x2189c0U,   0x2131a6U,   0x20d98cU,   0x208172U, 
-    0x202958U,   0x1fd13eU,   0x1f7924U,   0x1f210aU,   0x1ec8f0U,   0x1e70d6U, 
-    0x1e18bcU,   0x1dc0a2U,   0x1d6888U,   0x1d106eU,   0x1cb854U,   0x1c603aU, 
-    0x1c0820U,   0x1bb006U,   0x1b57ecU,   0x1affd2U,   0x1aa7b8U,   0x1a4f9eU, 
-    0x19f784U,   0x199f6aU,   0x194750U,   0x18ef36U,   0x18971cU,   0x183f02U, 
-    0x17e6e8U,   0x178eceU,   0x1736b4U,   0x16de9aU,   0x168680U,   0x162e66U, 
-    0x15d64cU,   0x157e32U,   0x152618U,   0x14cdfeU,   0x1475e4U,   0x141dcaU, 
-    0x13c5b0U,   0x136d96U,   0x13157cU,   0x12bd62U,   0x126548U,   0x120d2eU, 
-    0x11b514U,   0x115cfaU,   0x1104e0U,   0x10acc6U,   0x1054acU,    0xffc92U, 
-     0xfa478U,    0xf4c5eU,    0xef444U,    0xe9c2aU,    0xe4410U,    0xdebf6U, 
-     0xd93dcU,    0xd3bc2U,    0xce3a8U,    0xc8b8eU,    0xc3374U,    0xbdb5aU, 
-     0xb8340U,    0xb2b26U,    0xad30cU,    0xa7af2U,    0xa22d8U,    0x9cabeU, 
-     0x972a4U,    0x91a8aU,    0x8c270U,    0x86a56U,    0x8123cU,    0x7ba22U, 
-     0x76208U,    0x709eeU,    0x6b1d4U,    0x659baU,    0x601a0U,    0x5a986U, 
-     0x5516cU,    0x4f952U,    0x4a138U,    0x4491eU,    0x3f104U,    0x398eaU, 
-     0x340d0U,    0x2e8b6U,    0x2909cU,    0x23882U,    0x1e068U,    0x1884eU, 
-     0x13034U,     0xd81aU,     0x8000U,     0x27e6U, 0xffffcfccU, 0xffff77b2U,
-  0xffff1f98U, 0xfffec77eU, 0xfffe6f64U, 0xfffe174aU, 0xfffdbf30U, 0xfffd6716U,
-  0xfffd0efcU, 0xfffcb6e2U, 0xfffc5ec8U, 0xfffc06aeU, 0xfffbae94U, 0xfffb567aU,
-  0xfffafe60U, 0xfffaa646U, 0xfffa4e2cU, 0xfff9f612U, 0xfff99df8U, 0xfff945deU,
-  0xfff8edc4U, 0xfff895aaU, 0xfff83d90U, 0xfff7e576U, 0xfff78d5cU, 0xfff73542U,
-  0xfff6dd28U, 0xfff6850eU, 0xfff62cf4U, 0xfff5d4daU, 0xfff57cc0U, 0xfff524a6U,
-  0xfff4cc8cU, 0xfff47472U, 0xfff41c58U, 0xfff3c43eU, 0xfff36c24U, 0xfff3140aU,
-  0xfff2bbf0U, 0xfff263d6U, 0xfff20bbcU, 0xfff1b3a2U, 0xfff15b88U, 0xfff1036eU,
-  0xfff0ab54U, 0xfff0533aU, 0xffeffb20U, 0xffefa306U, 0xffef4aecU, 0xffeef2d2U,
-  0xffee9ab8U, 0xffee429eU, 0xffedea84U, 0xffed926aU, 0xffed3a50U, 0xffece236U,
-  0xffec8a1cU, 0xffec3202U, 0xffebd9e8U, 0xffeb81ceU, 0xffeb29b4U, 0xffead19aU,
-  0xffea7980U, 0xffea2166U, 0xffe9c94cU, 0xffe97132U, 0xffe91918U, 0xffe8c0feU,
-  0xffe868e4U, 0xffe810caU, 0xffe7b8b0U, 0xffe76096U, 0xffe7087cU, 0xffe6b062U,
-  0xffe65848U, 0xffe6002eU, 0xffe5a814U, 0xffe54ffaU, 0xffe4f7e0U, 0xffe49fc6U,
-  0xffe447acU, 0xffe3ef92U, 0xffe39778U, 0xffe33f5eU, 0xffe2e744U, 0xffe28f2aU,
-  0xffe23710U, 0xffe1def6U, 0xffe186dcU, 0xffe12ec2U, 0xffe0d6a8U, 0xffe07e8eU,
-  0xffe02674U, 0xffdfce5aU, 0xffdf7640U, 0xffdf1e26U, 0xffdec60cU, 0xffde6df2U,
-  0xffde15d8U, 0xffddbdbeU, 0xffdd65a4U, 0xffdd0d8aU, 0xffdcb570U, 0xffdc5d56U,
-  0xffdc053cU, 0xffdbad22U, 0xffdb5508U, 0xffdafceeU, 0xffdaa4d4U, 0xffda4cbaU,
-  0xffd9f4a0U, 0xffd99c86U, 0xffd9446cU, 0xffd8ec52U, 0xffd89438U, 0xffd83c1eU,
-  0xffd7e404U, 0xffd78beaU, 0xffd733d0U, 0xffd6dbb6U, 0xffd6839cU, 0xffd62b82U,
-  0xffd5d368U, 0xffd57b4eU, 0xffd52334U, 0xffd4cb1aU
+    0x2c8d00,    0x2c34e6,    0x2bdccc,    0x2b84b2,    0x2b2c98,    0x2ad47e,
+    0x2a7c64,    0x2a244a,    0x29cc30,    0x297416,    0x291bfc,    0x28c3e2,
+    0x286bc8,    0x2813ae,    0x27bb94,    0x27637a,    0x270b60,    0x26b346,
+    0x265b2c,    0x260312,    0x25aaf8,    0x2552de,    0x24fac4,    0x24a2aa,
+    0x244a90,    0x23f276,    0x239a5c,    0x234242,    0x22ea28,    0x22920e,
+    0x2239f4,    0x21e1da,    0x2189c0,    0x2131a6,    0x20d98c,    0x208172,
+    0x202958,    0x1fd13e,    0x1f7924,    0x1f210a,    0x1ec8f0,    0x1e70d6,
+    0x1e18bc,    0x1dc0a2,    0x1d6888,    0x1d106e,    0x1cb854,    0x1c603a,
+    0x1c0820,    0x1bb006,    0x1b57ec,    0x1affd2,    0x1aa7b8,    0x1a4f9e,
+    0x19f784,    0x199f6a,    0x194750,    0x18ef36,    0x18971c,    0x183f02,
+    0x17e6e8,    0x178ece,    0x1736b4,    0x16de9a,    0x168680,    0x162e66,
+    0x15d64c,    0x157e32,    0x152618,    0x14cdfe,    0x1475e4,    0x141dca,
+    0x13c5b0,    0x136d96,    0x13157c,    0x12bd62,    0x126548,    0x120d2e,
+    0x11b514,    0x115cfa,    0x1104e0,    0x10acc6,    0x1054ac,    0x0ffc92,
+    0x0fa478,    0x0f4c5e,    0x0ef444,    0x0e9c2a,    0x0e4410,    0x0debf6,
+    0x0d93dc,    0x0d3bc2,    0x0ce3a8,    0x0c8b8e,    0x0c3374,    0x0bdb5a,
+    0x0b8340,    0x0b2b26,    0x0ad30c,    0x0a7af2,    0x0a22d8,    0x09cabe,
+    0x0972a4,    0x091a8a,    0x08c270,    0x086a56,    0x08123c,    0x07ba22,
+    0x076208,    0x0709ee,    0x06b1d4,    0x0659ba,    0x0601a0,    0x05a986,
+    0x05516c,    0x04f952,    0x04a138,    0x04491e,    0x03f104,    0x0398ea,
+    0x0340d0,    0x02e8b6,    0x02909c,    0x023882,    0x01e068,    0x01884e,
+    0x013034,    0x00d81a,    0x008000,    0x0027e6,   -0x003034,   -0x00884e,
+   -0x00e068,   -0x013882,   -0x01909c,   -0x01e8b6,   -0x0240d0,   -0x0298ea,
+   -0x02f104,   -0x03491e,   -0x03a138,   -0x03f952,   -0x04516c,   -0x04a986,
+   -0x0501a0,   -0x0559ba,   -0x05b1d4,   -0x0609ee,   -0x066208,   -0x06ba22,
+   -0x07123c,   -0x076a56,   -0x07c270,   -0x081a8a,   -0x0872a4,   -0x08cabe,
+   -0x0922d8,   -0x097af2,   -0x09d30c,   -0x0a2b26,   -0x0a8340,   -0x0adb5a,
+   -0x0b3374,   -0x0b8b8e,   -0x0be3a8,   -0x0c3bc2,   -0x0c93dc,   -0x0cebf6,
+   -0x0d4410,   -0x0d9c2a,   -0x0df444,   -0x0e4c5e,   -0x0ea478,   -0x0efc92,
+   -0x0f54ac,   -0x0facc6,   -0x1004e0,   -0x105cfa,   -0x10b514,   -0x110d2e,
+   -0x116548,   -0x11bd62,   -0x12157c,   -0x126d96,   -0x12c5b0,   -0x131dca,
+   -0x1375e4,   -0x13cdfe,   -0x142618,   -0x147e32,   -0x14d64c,   -0x152e66,
+   -0x158680,   -0x15de9a,   -0x1636b4,   -0x168ece,   -0x16e6e8,   -0x173f02,
+   -0x17971c,   -0x17ef36,   -0x184750,   -0x189f6a,   -0x18f784,   -0x194f9e,
+   -0x19a7b8,   -0x19ffd2,   -0x1a57ec,   -0x1ab006,   -0x1b0820,   -0x1b603a,
+   -0x1bb854,   -0x1c106e,   -0x1c6888,   -0x1cc0a2,   -0x1d18bc,   -0x1d70d6,
+   -0x1dc8f0,   -0x1e210a,   -0x1e7924,   -0x1ed13e,   -0x1f2958,   -0x1f8172,
+   -0x1fd98c,   -0x2031a6,   -0x2089c0,   -0x20e1da,   -0x2139f4,   -0x21920e,
+   -0x21ea28,   -0x224242,   -0x229a5c,   -0x22f276,   -0x234a90,   -0x23a2aa,
+   -0x23fac4,   -0x2452de,   -0x24aaf8,   -0x250312,   -0x255b2c,   -0x25b346,
+   -0x260b60,   -0x26637a,   -0x26bb94,   -0x2713ae,   -0x276bc8,   -0x27c3e2,
+   -0x281bfc,   -0x287416,   -0x28cc30,   -0x29244a,   -0x297c64,   -0x29d47e,
+   -0x2a2c98,   -0x2a84b2,   -0x2adccc,   -0x2b34e6,
 /* We assume that right shift corresponds to signed division by 2 with
  * rounding towards minus infinity.  This is correct for typical "arithmetic
  * shift" instructions that shift in copies of the sign bit.  But some
  * C compilers implement >> with an unsigned shift.  For these machines you
  * must define RIGHT_SHIFT_IS_UNSIGNED.