|
|
|
@ -54,18 +54,15 @@ |
|
|
|
|
#define FIX_M_1_961570560_ID 40 |
|
|
|
|
#define FIX_M_2_562915447_ID 44 |
|
|
|
|
#define FIX_0xFFFF_ID 48 |
|
|
|
|
.text |
|
|
|
|
.align |
|
|
|
|
|
|
|
|
|
function ff_j_rev_dct_arm, export=1 |
|
|
|
|
stmdb sp!, { r4 - r12, lr } @ all callee saved regs
|
|
|
|
|
|
|
|
|
|
sub sp, sp, #4 @ reserve some space on the stack
|
|
|
|
|
str r0, [ sp ] @ save the DCT pointer to the stack
|
|
|
|
|
|
|
|
|
|
mov lr, r0 @ lr = pointer to the current row
|
|
|
|
|
mov r12, #8 @ r12 = row-counter
|
|
|
|
|
adr r11, const_array @ r11 = base pointer to the constants array
|
|
|
|
|
movrel r11, const_array @ r11 = base pointer to the constants array
|
|
|
|
|
row_loop: |
|
|
|
|
ldrsh r0, [lr, # 0] @ r0 = 'd0'
|
|
|
|
|
ldrsh r2, [lr, # 2] @ r2 = 'd2'
|
|
|
|
@ -370,9 +367,9 @@ the_end: |
|
|
|
|
@ The end....
|
|
|
|
|
add sp, sp, #4 |
|
|
|
|
ldmia sp!, { r4 - r12, pc } @ restore callee saved regs and return
|
|
|
|
|
endfunc |
|
|
|
|
|
|
|
|
|
const_array: |
|
|
|
|
.align |
|
|
|
|
const const_array |
|
|
|
|
.word FIX_0_298631336
|
|
|
|
|
.word FIX_0_541196100
|
|
|
|
|
.word FIX_0_765366865
|
|
|
|
@ -386,3 +383,4 @@ const_array: |
|
|
|
|
.word FIX_M_1_961570560
|
|
|
|
|
.word FIX_M_2_562915447
|
|
|
|
|
.word FIX_0xFFFF
|
|
|
|
|
endconst |
|
|
|
|