Revision 31326143

View differences:

libavcodec/arm/dsputil_armv6.S
309 309
        pop             {r4-r8, pc}
310 310
.endfunc
311 311

  
312
function ff_diff_pixels_armv6, export=1
313
        pld             [r1, r3]
314
        pld             [r2, r3]
315
        push            {r4-r9, lr}
316
        mov             lr,  #8
317
1:
318
        ldrd            r4,  r5,  [r1],  r3
319
        ldrd            r6,  r7,  [r2],  r3
320
        uxtb16          r8,  r4
321
        uxtb16          r4,  r4,  ror #8
322
        uxtb16          r9,  r6
323
        uxtb16          r6,  r6,  ror #8
324
        pld             [r1, r3]
325
        ssub16          r9,  r8,  r9
326
        ssub16          r6,  r4,  r6
327
        uxtb16          r8,  r5
328
        uxtb16          r5,  r5,  ror #8
329
        pld             [r2, r3]
330
        pkhbt           r4,  r9,  r6,  lsl #16
331
        pkhtb           r6,  r6,  r9,  asr #16
332
        uxtb16          r9,  r7
333
        uxtb16          r7,  r7,  ror #8
334
        ssub16          r9,  r8,  r9
335
        ssub16          r5,  r5,  r7
336
        subs            lr,  lr,  #1
337
        pkhbt           r8,  r9,  r5,  lsl #16
338
        pkhtb           r9,  r5,  r9,  asr #16
339
        stm             r0!, {r4,r6,r8,r9}
340
        bgt             1b
341

  
342
        pop             {r4-r9, pc}
343
.endfunc
344

  
312 345
function ff_pix_abs16_armv6, export=1
313 346
        ldr             r0,  [sp]
314 347
        push            {r4-r9, lr}
libavcodec/arm/dsputil_init_armv6.c
51 51
                                 int line_size);
52 52

  
53 53
void ff_get_pixels_armv6(DCTELEM *block, const uint8_t *pixels, int stride);
54
void ff_diff_pixels_armv6(DCTELEM *block, const uint8_t *s1,
55
                          const uint8_t *s2, int stride);
54 56

  
55 57
int ff_pix_abs16_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
56 58
                       int line_size, int h);
......
95 97

  
96 98
    c->add_pixels_clamped = ff_add_pixels_clamped_armv6;
97 99
    c->get_pixels = ff_get_pixels_armv6;
100
    c->diff_pixels = ff_diff_pixels_armv6;
98 101

  
99 102
    c->pix_abs[0][0] = ff_pix_abs16_armv6;
100 103
    c->pix_abs[0][1] = ff_pix_abs16_x2_armv6;

Also available in: Unified diff