Revision d1cc6e46 libavcodec/vc1dsp.c

View differences:

libavcodec/vc1dsp.c
194 194
    for(i = 0; i < 8; i++){
195 195
        t1 = 17 * (src[ 0] + src[16]) + 64;
196 196
        t2 = 17 * (src[ 0] - src[16]) + 64;
197
        t3 = 22 * src[ 8];
198
        t4 = 22 * src[24];
199
        t5 = 10 * src[ 8];
200
        t6 = 10 * src[24];
197
        t3 = 22 * src[ 8] + 10 * src[24];
198
        t4 = 22 * src[24] - 10 * src[ 8];
201 199

  
202
        dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3 + t6) >> 7)];
203
        dest[1*linesize] = cm[dest[1*linesize] + ((t2 - t4 + t5) >> 7)];
204
        dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4 - t5) >> 7)];
205
        dest[3*linesize] = cm[dest[3*linesize] + ((t1 - t3 - t6) >> 7)];
200
        dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3) >> 7)];
201
        dest[1*linesize] = cm[dest[1*linesize] + ((t2 - t4) >> 7)];
202
        dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4) >> 7)];
203
        dest[3*linesize] = cm[dest[3*linesize] + ((t1 - t3) >> 7)];
206 204

  
207 205
        src ++;
208 206
        dest++;
......
223 221
    for(i = 0; i < 8; i++){
224 222
        t1 = 17 * (src[0] + src[2]) + 4;
225 223
        t2 = 17 * (src[0] - src[2]) + 4;
226
        t3 = 22 * src[1];
227
        t4 = 22 * src[3];
228
        t5 = 10 * src[1];
229
        t6 = 10 * src[3];
224
        t3 = 22 * src[1] + 10 * src[3];
225
        t4 = 22 * src[3] - 10 * src[1];
230 226

  
231
        dst[0] = (t1 + t3 + t6) >> 3;
232
        dst[1] = (t2 - t4 + t5) >> 3;
233
        dst[2] = (t2 + t4 - t5) >> 3;
234
        dst[3] = (t1 - t3 - t6) >> 3;
227
        dst[0] = (t1 + t3) >> 3;
228
        dst[1] = (t2 - t4) >> 3;
229
        dst[2] = (t2 + t4) >> 3;
230
        dst[3] = (t1 - t3) >> 3;
235 231

  
236 232
        src += 8;
237 233
        dst += 8;
......
273 269
static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, DCTELEM *block)
274 270
{
275 271
    int i;
276
    register int t1,t2,t3,t4,t5,t6;
272
    register int t1,t2,t3,t4;
277 273
    DCTELEM *src, *dst;
278 274
    const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
279 275

  
......
282 278
    for(i = 0; i < 4; i++){
283 279
        t1 = 17 * (src[0] + src[2]) + 4;
284 280
        t2 = 17 * (src[0] - src[2]) + 4;
285
        t3 = 22 * src[1];
286
        t4 = 22 * src[3];
287
        t5 = 10 * src[1];
288
        t6 = 10 * src[3];
281
        t3 = 22 * src[1] + 10 * src[3];
282
        t4 = 22 * src[3] - 10 * src[1];
289 283

  
290
        dst[0] = (t1 + t3 + t6) >> 3;
291
        dst[1] = (t2 - t4 + t5) >> 3;
292
        dst[2] = (t2 + t4 - t5) >> 3;
293
        dst[3] = (t1 - t3 - t6) >> 3;
284
        dst[0] = (t1 + t3) >> 3;
285
        dst[1] = (t2 - t4) >> 3;
286
        dst[2] = (t2 + t4) >> 3;
287
        dst[3] = (t1 - t3) >> 3;
294 288

  
295 289
        src += 8;
296 290
        dst += 8;
......
300 294
    for(i = 0; i < 4; i++){
301 295
        t1 = 17 * (src[ 0] + src[16]) + 64;
302 296
        t2 = 17 * (src[ 0] - src[16]) + 64;
303
        t3 = 22 * src[ 8];
304
        t4 = 22 * src[24];
305
        t5 = 10 * src[ 8];
306
        t6 = 10 * src[24];
307

  
308
        dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3 + t6) >> 7)];
309
        dest[1*linesize] = cm[dest[1*linesize] + ((t2 - t4 + t5) >> 7)];
310
        dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4 - t5) >> 7)];
311
        dest[3*linesize] = cm[dest[3*linesize] + ((t1 - t3 - t6) >> 7)];
297
        t3 = 22 * src[ 8] + 10 * src[24];
298
        t4 = 22 * src[24] - 10 * src[ 8];
299

  
300
        dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3) >> 7)];
301
        dest[1*linesize] = cm[dest[1*linesize] + ((t2 - t4) >> 7)];
302
        dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4) >> 7)];
303
        dest[3*linesize] = cm[dest[3*linesize] + ((t1 - t3) >> 7)];
312 304

  
313 305
        src ++;
314 306
        dest++;

Also available in: Unified diff