Revision e6056a90

View differences:

libavcodec/arm/dsputil_armv6.S
286 286
        bgt             1b
287 287
        pop             {r4-r8,pc}
288 288
.endfunc
289

  
290
function ff_pix_abs16_armv6, export=1
291
        ldr             r0,  [sp]
292
        push            {r4-r9, lr}
293
        mov             r12, #0
294
        mov             lr,  #0
295
        ldm             r1,  {r4-r7}
296
        ldr             r8,  [r2]
297
1:
298
        ldr             r9,  [r2, #4]
299
        pld             [r1, r3]
300
        usada8          r12, r4,  r8,  r12
301
        ldr             r8,  [r2, #8]
302
        pld             [r2, r3]
303
        usada8          lr,  r5,  r9,  lr
304
        ldr             r9,  [r2, #12]
305
        usada8          r12, r6,  r8,  r12
306
        subs            r0,  r0,  #1
307
        usada8          lr,  r7,  r9,  lr
308
        beq             2f
309
        add             r1,  r1,  r3
310
        ldm             r1,  {r4-r7}
311
        add             r2,  r2,  r3
312
        ldr             r8,  [r2]
313
        b               1b
314
2:
315
        add             r0,  r12, lr
316
        pop             {r4-r9, pc}
317
.endfunc
libavcodec/arm/dsputil_init_armv6.c
50 50
                                 uint8_t *restrict pixels,
51 51
                                 int line_size);
52 52

  
53
int ff_pix_abs16_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
54
                       int line_size, int h);
55

  
53 56
void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
54 57
{
55 58
    if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO ||
......
82 85
    c->avg_pixels_tab[1][0] = ff_avg_pixels8_armv6;
83 86

  
84 87
    c->add_pixels_clamped = ff_add_pixels_clamped_armv6;
88

  
89
    c->pix_abs[0][0] = ff_pix_abs16_armv6;
90

  
91
    c->sad[0] = ff_pix_abs16_armv6;
85 92
}

Also available in: Unified diff