Changeset 846 for trunk/src/3rdparty/libjpeg/jfdctfst.c
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/src/3rdparty/libjpeg/jfdctfst.c
r2 r846 3 3 * 4 4 * Copyright (C) 1994-1996, Thomas G. Lane. 5 * Modified 2003-2009 by Guido Vollbeding. 5 6 * This file is part of the Independent JPEG Group's software. 6 7 * For conditions of distribution and use, see the accompanying README file. … … 112 113 113 114 GLOBAL(void) 114 jpeg_fdct_ifast (DCTELEM * data )115 jpeg_fdct_ifast (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) 115 116 { 116 117 DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; … … 118 119 DCTELEM z1, z2, z3, z4, z5, z11, z13; 119 120 DCTELEM *dataptr; 121 JSAMPROW elemptr; 120 122 int ctr; 121 123 SHIFT_TEMPS … … 124 126 125 127 dataptr = data; 126 for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { 127 tmp0 = dataptr[0] + dataptr[7]; 128 tmp7 = dataptr[0] - dataptr[7]; 129 tmp1 = dataptr[1] + dataptr[6]; 130 tmp6 = dataptr[1] - dataptr[6]; 131 tmp2 = dataptr[2] + dataptr[5]; 132 tmp5 = dataptr[2] - dataptr[5]; 133 tmp3 = dataptr[3] + dataptr[4]; 134 tmp4 = dataptr[3] - dataptr[4]; 135 128 for (ctr = 0; ctr < DCTSIZE; ctr++) { 129 elemptr = sample_data[ctr] + start_col; 130 131 /* Load data into workspace */ 132 tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); 133 tmp7 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]); 134 tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]); 135 tmp6 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]); 136 tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]); 137 tmp5 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]); 138 tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]); 139 tmp4 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]); 140 136 141 /* Even part */ 137 142 138 143 tmp10 = tmp0 + tmp3; /* phase 2 */ 139 144 tmp13 = tmp0 - tmp3; 140 145 tmp11 = tmp1 + tmp2; 141 146 tmp12 = tmp1 - tmp2; 142 143 dataptr[0] = tmp10 + tmp11; /* phase 3 */ 147 148 /* Apply unsigned->signed conversion */ 149 dataptr[0] = tmp10 + tmp11 - 8 * CENTERJSAMPLE; /* phase 3 */ 144 150 dataptr[4] = tmp10 - tmp11; 145 151 146 152 z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */ 147 153 dataptr[2] = tmp13 + z1; /* phase 5 */ 148 154 dataptr[6] = tmp13 - z1; 149 155 150 156 /* Odd part */ 151 157 … … 183 189 tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; 184 190 tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; 185 191 186 192 /* Even part */ 187 193 188 194 tmp10 = tmp0 + tmp3; /* phase 2 */ 189 195 tmp13 = tmp0 - tmp3; 190 196 tmp11 = tmp1 + tmp2; 191 197 tmp12 = tmp1 - tmp2; 192 198 193 199 dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */ 194 200 dataptr[DCTSIZE*4] = tmp10 - tmp11; 195 201 196 202 z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */ 197 203 dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */ 198 204 dataptr[DCTSIZE*6] = tmp13 - z1; 199 205 200 206 /* Odd part */ 201 207
Note:
See TracChangeset
for help on using the changeset viewer.