Revision 39a760f6

View differences:

libavcodec/arm/dsputil_armv6.S
315 315
        add             r0,  r12, lr
316 316
        pop             {r4-r9, pc}
317 317
.endfunc
318

  
319
function ff_pix_abs16_x2_armv6, export=1
320
        ldr             r12, [sp]
321
        push            {r4-r11, lr}
322
        mov             r0,  #0
323
        mov             lr,  #1
324
        orr             lr,  lr,  lr,  lsl #8
325
        orr             lr,  lr,  lr,  lsl #16
326
1:
327
        ldr             r8,  [r2]
328
        ldr             r9,  [r2, #4]
329
        lsr             r10, r8,  #8
330
        ldr             r4,  [r1]
331
        lsr             r6,  r9,  #8
332
        orr             r10, r10, r9,  lsl #24
333
        ldr             r5,  [r2, #8]
334
        eor             r11, r8,  r10
335
        uhadd8          r7,  r8,  r10
336
        orr             r6,  r6,  r5,  lsl #24
337
        and             r11, r11, lr
338
        uadd8           r7,  r7,  r11
339
        ldr             r8,  [r1, #4]
340
        usada8          r0,  r4,  r7,  r0
341
        eor             r7,  r9,  r6
342
        lsr             r10, r5,  #8
343
        and             r7,  r7,  lr
344
        uhadd8          r4,  r9,  r6
345
        ldr             r6,  [r2, #12]
346
        uadd8           r4,  r4,  r7
347
        pld             [r1, r3]
348
        orr             r10, r10, r6,  lsl #24
349
        usada8          r0,  r8,  r4,  r0
350
        ldr             r4,  [r1, #8]
351
        eor             r11, r5,  r10
352
        ldrb            r7,  [r2, #16]
353
        and             r11, r11, lr
354
        uhadd8          r8,  r5,  r10
355
        ldr             r5,  [r1, #12]
356
        uadd8           r8,  r8,  r11
357
        pld             [r2, r3]
358
        lsr             r10, r6,  #8
359
        usada8          r0,  r4,  r8,  r0
360
        orr             r10, r10, r7,  lsl #24
361
        subs            r12,  r12,  #1
362
        eor             r11, r6,  r10
363
        add             r1,  r1,  r3
364
        uhadd8          r9,  r6,  r10
365
        and             r11, r11, lr
366
        uadd8           r9,  r9,  r11
367
        add             r2,  r2,  r3
368
        usada8          r0,  r5,  r9,  r0
369
        bgt             1b
370

  
371
        pop             {r4-r11, pc}
372
.endfunc
libavcodec/arm/dsputil_init_armv6.c
52 52

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

  
56 58
void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
57 59
{
......
87 89
    c->add_pixels_clamped = ff_add_pixels_clamped_armv6;
88 90

  
89 91
    c->pix_abs[0][0] = ff_pix_abs16_armv6;
92
    c->pix_abs[0][1] = ff_pix_abs16_x2_armv6;
90 93

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

Also available in: Unified diff