Revision 0c28474c

View differences:

libavcodec/arm/dsputil_armv6.S
513 513
        add             r0,  r0,  lr
514 514
        pop             {r4-r9, pc}
515 515
.endfunc
516

  
517
function ff_sse16_armv6, export=1
518
        ldr             r12, [sp]
519
        push            {r4-r9, lr}
520
        mov             r0,  #0
521
1:
522
        ldrd            r4,  r5,  [r1]
523
        ldr             r8,  [r2]
524
        uxtb16          lr,  r4
525
        uxtb16          r4,  r4,  ror #8
526
        uxtb16          r9,  r8
527
        uxtb16          r8,  r8,  ror #8
528
        ldr             r7,  [r2, #4]
529
        usub16          lr,  lr,  r9
530
        usub16          r4,  r4,  r8
531
        smlad           r0,  lr,  lr,  r0
532
        uxtb16          r6,  r5
533
        uxtb16          lr,  r5,  ror #8
534
        uxtb16          r8,  r7
535
        uxtb16          r9,  r7,  ror #8
536
        smlad           r0,  r4,  r4,  r0
537
        ldrd            r4,  r5,  [r1, #8]
538
        usub16          r6,  r6,  r8
539
        usub16          r8,  lr,  r9
540
        ldr             r7,  [r2, #8]
541
        smlad           r0,  r6,  r6,  r0
542
        uxtb16          lr,  r4
543
        uxtb16          r4,  r4,  ror #8
544
        uxtb16          r9,  r7
545
        uxtb16          r7,  r7, ror #8
546
        smlad           r0,  r8,  r8,  r0
547
        ldr             r8,  [r2, #12]
548
        usub16          lr,  lr,  r9
549
        usub16          r4,  r4,  r7
550
        smlad           r0,  lr,  lr,  r0
551
        uxtb16          r6,  r5
552
        uxtb16          r5,  r5,  ror #8
553
        uxtb16          r9,  r8
554
        uxtb16          r8,  r8,  ror #8
555
        smlad           r0,  r4,  r4,  r0
556
        usub16          r6,  r6,  r9
557
        usub16          r5,  r5,  r8
558
        smlad           r0,  r6,  r6,  r0
559
        add             r1,  r1,  r3
560
        add             r2,  r2,  r3
561
        subs            r12, r12, #1
562
        smlad           r0,  r5,  r5,  r0
563
        bgt             1b
564

  
565
        pop             {r4-r9, pc}
566
.endfunc
libavcodec/arm/dsputil_init_armv6.c
64 64
int ff_pix_abs8_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
65 65
                       int line_size, int h);
66 66

  
67
int ff_sse16_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
68
                   int line_size, int h);
69

  
67 70
void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
68 71
{
69 72
    if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO ||
......
107 110

  
108 111
    c->sad[0] = ff_pix_abs16_armv6;
109 112
    c->sad[1] = ff_pix_abs8_armv6;
113

  
114
    c->sse[0] = ff_sse16_armv6;
110 115
}

Also available in: Unified diff