History

ARMv6 optimised pix_sum

Originally committed as revision 21705 to svn://svn.ffmpeg.org/ffmpeg/trunk

Måns Rullgård committed 16 years ago

Commit 41c2bd01 parent 66ec2432 files · +27 −0Browse files

Unified · Split

2 files
  1. libavcodec/arm/dsputil_armv6.S +25 −0
  2. libavcodec/arm/dsputil_init_armv6.c +2 −0
libavcodec/arm/dsputil_armv6.S+25−0
@@ -594,3 +594,28 @@ function ff_pix_norm1_armv6, export=1 · 593 unmodified lines
594 mov r0, lr594 mov r0, lr
595 pop {r4-r6, pc}595 pop {r4-r6, pc}
596.endfunc596.endfunc
597
598function ff_pix_sum_armv6, export=1
599 push {r4-r7, lr}
600 mov r12, #16
601 mov r2, #0
602 mov r3, #0
603 mov lr, #0
604 ldr r4, [r0]
6051:
606 subs r12, r12, #1
607 ldr r5, [r0, #4]
608 usada8 r2, r4, lr, r2
609 ldr r6, [r0, #8]
610 usada8 r3, r5, lr, r3
611 ldr r7, [r0, #12]
612 usada8 r2, r6, lr, r2
613 beq 2f
614 ldr r4, [r0, r1]!
615 usada8 r3, r7, lr, r3
616 bgt 1b
6172:
618 usada8 r3, r7, lr, r3
619 add r0, r2, r3
620 pop {r4-r7, pc}
621.endfunc
libavcodec/arm/dsputil_init_armv6.c+2−0
@@ -68,6 +68,7 @@ int ff_sse16_armv6(void *s, uint8_t *blk1, uint8_t *blk2, · 67 unmodified lines
68 int line_size, int h);68 int line_size, int h);
69 69
70int ff_pix_norm1_armv6(uint8_t *pix, int line_size);70int ff_pix_norm1_armv6(uint8_t *pix, int line_size);
71int ff_pix_sum_armv6(uint8_t *pix, int line_size);
71 72
72void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)73void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
73{74{
@@ -116,4 +117,5 @@ void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx) · 42 unmodified lines
116 c->sse[0] = ff_sse16_armv6;117 c->sse[0] = ff_sse16_armv6;
117 118
118 c->pix_norm1 = ff_pix_norm1_armv6;119 c->pix_norm1 = ff_pix_norm1_armv6;
120 c->pix_sum = ff_pix_sum_armv6;
119}121}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t