59 if (((l & ~0xffffUL) |
r) == 0) {
161 a0 =
W4 * col[8 * 0];
162 a1 =
W4 * col[8 * 0];
163 a2 =
W4 * col[8 * 0];
164 a3 =
W4 * col[8 * 0];
167 a0 +=
W2 * col[8 * 2];
168 a1 +=
W6 * col[8 * 2];
169 a2 -=
W6 * col[8 * 2];
170 a3 -=
W2 * col[8 * 2];
174 a0 +=
W4 * col[8 * 4];
175 a1 -=
W4 * col[8 * 4];
176 a2 -=
W4 * col[8 * 4];
177 a3 +=
W4 * col[8 * 4];
181 a0 +=
W6 * col[8 * 6];
182 a1 -=
W2 * col[8 * 6];
183 a2 +=
W2 * col[8 * 6];
184 a3 -=
W6 * col[8 * 6];
188 b0 =
W1 * col[8 * 1];
189 b1 =
W3 * col[8 * 1];
190 b2 =
W5 * col[8 * 1];
191 b3 =
W7 * col[8 * 1];
200 b0 +=
W3 * col[8 * 3];
201 b1 -=
W7 * col[8 * 3];
202 b2 -=
W1 * col[8 * 3];
203 b3 -=
W5 * col[8 * 3];
207 b0 +=
W5 * col[8 * 5];
208 b1 -=
W1 * col[8 * 5];
209 b2 +=
W7 * col[8 * 5];
210 b3 +=
W3 * col[8 * 5];
214 b0 +=
W7 * col[8 * 7];
215 b1 -=
W5 * col[8 * 7];
216 b2 +=
W3 * col[8 * 7];
217 b3 -=
W1 * col[8 * 7];
237 for (i = 0; i < 8; ++i) {
244 l = ldq(col + 0 * 4); r = ldq(col + 1 * 4);
245 stq(l, col + 2 * 4); stq(r, col + 3 * 4);
246 stq(l, col + 4 * 4); stq(r, col + 5 * 4);
247 stq(l, col + 6 * 4); stq(r, col + 7 * 4);
248 stq(l, col + 8 * 4); stq(r, col + 9 * 4);
249 stq(l, col + 10 * 4); stq(r, col + 11 * 4);
250 stq(l, col + 12 * 4); stq(r, col + 13 * 4);
251 stq(l, col + 14 * 4); stq(r, col + 15 * 4);
259 int rowsConstant = 1;
261 for (i = 0; i < 8; i++) {
262 int sparseness =
idct_row(block + 8 * i);
264 if (i > 0 && sparseness > 0)
272 }
else if (rowsConstant) {
274 for (i = 0; i < 8; i += 2) {
275 uint64_t v = (uint16_t) block[0];
276 uint64_t w = (uint16_t) block[8];
282 stq(v, block + 0 * 4);
283 stq(v, block + 1 * 4);
284 stq(w, block + 2 * 4);
285 stq(w, block + 3 * 4);
289 for (i = 0; i < 8; i++)