Revision 1da6ea39 libavcodec/vc1dsp.c

View differences:

libavcodec/vc1dsp.c
203 203
{
204 204
    int i;
205 205
    register int t1,t2,t3,t4,t5,t6,t7,t8;
206
    DCTELEM *src, *dst;
206
    DCTELEM *src, *dst, temp[64];
207 207

  
208 208
    src = block;
209
    dst = block;
209
    dst = temp;
210 210
    for(i = 0; i < 8; i++){
211
        t1 = 12 * (src[0] + src[4]) + 4;
212
        t2 = 12 * (src[0] - src[4]) + 4;
213
        t3 = 16 * src[2] +  6 * src[6];
214
        t4 =  6 * src[2] - 16 * src[6];
211
        t1 = 12 * (src[ 0] + src[32]) + 4;
212
        t2 = 12 * (src[ 0] - src[32]) + 4;
213
        t3 = 16 * src[16] +  6 * src[48];
214
        t4 =  6 * src[16] - 16 * src[48];
215 215

  
216 216
        t5 = t1 + t3;
217 217
        t6 = t2 + t4;
218 218
        t7 = t2 - t4;
219 219
        t8 = t1 - t3;
220 220

  
221
        t1 = 16 * src[1] + 15 * src[3] +  9 * src[5] +  4 * src[7];
222
        t2 = 15 * src[1] -  4 * src[3] - 16 * src[5] -  9 * src[7];
223
        t3 =  9 * src[1] - 16 * src[3] +  4 * src[5] + 15 * src[7];
224
        t4 =  4 * src[1] -  9 * src[3] + 15 * src[5] - 16 * src[7];
221
        t1 = 16 * src[ 8] + 15 * src[24] +  9 * src[40] +  4 * src[56];
222
        t2 = 15 * src[ 8] -  4 * src[24] - 16 * src[40] -  9 * src[56];
223
        t3 =  9 * src[ 8] - 16 * src[24] +  4 * src[40] + 15 * src[56];
224
        t4 =  4 * src[ 8] -  9 * src[24] + 15 * src[40] - 16 * src[56];
225 225

  
226 226
        dst[0] = (t5 + t1) >> 3;
227 227
        dst[1] = (t6 + t2) >> 3;
......
232 232
        dst[6] = (t6 - t2) >> 3;
233 233
        dst[7] = (t5 - t1) >> 3;
234 234

  
235
        src += 8;
235
        src += 1;
236 236
        dst += 8;
237 237
    }
238 238

  
239
    src = block;
239
    src = temp;
240 240
    dst = block;
241 241
    for(i = 0; i < 8; i++){
242 242
        t1 = 12 * (src[ 0] + src[32]) + 64;

Also available in: Unified diff