Merge "Fix valgrind errors in vp8_sixtap_predict8x4_armv6()."
This commit is contained in:
commit
b955a69bbf
@ -25,10 +25,10 @@
|
|||||||
;and the result is stored in transpose.
|
;and the result is stored in transpose.
|
||||||
|vp8_sixtap_predict8x4_armv6| PROC
|
|vp8_sixtap_predict8x4_armv6| PROC
|
||||||
stmdb sp!, {r4 - r11, lr}
|
stmdb sp!, {r4 - r11, lr}
|
||||||
sub sp, sp, #184 ;reserve space on stack for temporary storage: 20x(8+1) +4
|
str r3, [sp, #-184]! ;reserve space on stack for temporary storage, store yoffset
|
||||||
|
|
||||||
cmp r2, #0 ;skip first_pass filter if xoffset=0
|
cmp r2, #0 ;skip first_pass filter if xoffset=0
|
||||||
str r3, [sp], #4 ;store yoffset
|
add lr, sp, #4 ;point to temporary buffer
|
||||||
beq skip_firstpass_filter
|
beq skip_firstpass_filter
|
||||||
|
|
||||||
;first-pass filter
|
;first-pass filter
|
||||||
@ -45,7 +45,6 @@
|
|||||||
mov r2, #0x90000 ; height=9 is top part of counter
|
mov r2, #0x90000 ; height=9 is top part of counter
|
||||||
|
|
||||||
sub r1, r1, #8
|
sub r1, r1, #8
|
||||||
mov lr, #20
|
|
||||||
|
|
||||||
|first_pass_hloop_v6|
|
|first_pass_hloop_v6|
|
||||||
ldrb r6, [r0, #-5] ; load source data
|
ldrb r6, [r0, #-5] ; load source data
|
||||||
@ -83,10 +82,10 @@
|
|||||||
tst r2, #0xff ; test loop counter
|
tst r2, #0xff ; test loop counter
|
||||||
usat r11, #8, r11, asr #7
|
usat r11, #8, r11, asr #7
|
||||||
add r12, r12, #0x40
|
add r12, r12, #0x40
|
||||||
strh r11, [sp], lr ; result is transposed and stored, which
|
strh r11, [lr], #20 ; result is transposed and stored, which
|
||||||
usat r12, #8, r12, asr #7
|
usat r12, #8, r12, asr #7
|
||||||
|
|
||||||
strh r12, [sp], lr
|
strh r12, [lr], #20
|
||||||
|
|
||||||
movne r11, r6
|
movne r11, r6
|
||||||
movne r12, r7
|
movne r12, r7
|
||||||
@ -107,8 +106,7 @@
|
|||||||
|
|
||||||
subs r2, r2, #0x10000
|
subs r2, r2, #0x10000
|
||||||
|
|
||||||
mov r6, #158
|
sub lr, lr, #158
|
||||||
sub sp, sp, r6
|
|
||||||
|
|
||||||
add r0, r0, r1 ; move to next input line
|
add r0, r0, r1 ; move to next input line
|
||||||
|
|
||||||
@ -116,10 +114,7 @@
|
|||||||
|
|
||||||
;second pass filter
|
;second pass filter
|
||||||
secondpass_filter
|
secondpass_filter
|
||||||
mov r1, #18
|
ldr r3, [sp], #4 ; load back yoffset
|
||||||
sub sp, sp, r1 ; 18+4
|
|
||||||
|
|
||||||
ldr r3, [sp, #-4] ; load back yoffset
|
|
||||||
ldr r0, [sp, #216] ; load dst address from stack 180+36
|
ldr r0, [sp, #216] ; load dst address from stack 180+36
|
||||||
ldr r1, [sp, #220] ; load dst stride from stack 180+40
|
ldr r1, [sp, #220] ; load dst stride from stack 180+40
|
||||||
|
|
||||||
@ -192,30 +187,28 @@ skip_firstpass_filter
|
|||||||
sub r0, r0, r1, lsl #1
|
sub r0, r0, r1, lsl #1
|
||||||
sub r1, r1, #8
|
sub r1, r1, #8
|
||||||
mov r2, #9
|
mov r2, #9
|
||||||
mov r3, #20
|
|
||||||
|
|
||||||
skip_firstpass_hloop
|
skip_firstpass_hloop
|
||||||
ldrb r4, [r0], #1 ; load data
|
ldrb r4, [r0], #1 ; load data
|
||||||
subs r2, r2, #1
|
subs r2, r2, #1
|
||||||
ldrb r5, [r0], #1
|
ldrb r5, [r0], #1
|
||||||
strh r4, [sp], r3 ; store it to immediate buffer
|
strh r4, [lr], #20 ; store it to immediate buffer
|
||||||
ldrb r6, [r0], #1 ; load data
|
ldrb r6, [r0], #1 ; load data
|
||||||
strh r5, [sp], r3
|
strh r5, [lr], #20
|
||||||
ldrb r7, [r0], #1
|
ldrb r7, [r0], #1
|
||||||
strh r6, [sp], r3
|
strh r6, [lr], #20
|
||||||
ldrb r8, [r0], #1
|
ldrb r8, [r0], #1
|
||||||
strh r7, [sp], r3
|
strh r7, [lr], #20
|
||||||
ldrb r9, [r0], #1
|
ldrb r9, [r0], #1
|
||||||
strh r8, [sp], r3
|
strh r8, [lr], #20
|
||||||
ldrb r10, [r0], #1
|
ldrb r10, [r0], #1
|
||||||
strh r9, [sp], r3
|
strh r9, [lr], #20
|
||||||
ldrb r11, [r0], #1
|
ldrb r11, [r0], #1
|
||||||
strh r10, [sp], r3
|
strh r10, [lr], #20
|
||||||
add r0, r0, r1 ; move to next input line
|
add r0, r0, r1 ; move to next input line
|
||||||
strh r11, [sp], r3
|
strh r11, [lr], #20
|
||||||
|
|
||||||
mov r4, #158
|
sub lr, lr, #158 ; move over to next column
|
||||||
sub sp, sp, r4 ; move over to next column
|
|
||||||
bne skip_firstpass_hloop
|
bne skip_firstpass_hloop
|
||||||
|
|
||||||
b secondpass_filter
|
b secondpass_filter
|
||||||
|
Loading…
x
Reference in New Issue
Block a user