diff options
Diffstat (limited to 'apps/codecs/libffmpegFLAC/coldfire.S')
-rw-r--r-- | apps/codecs/libffmpegFLAC/coldfire.S | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/apps/codecs/libffmpegFLAC/coldfire.S b/apps/codecs/libffmpegFLAC/coldfire.S index 7e19e4b695..720e6edd86 100644 --- a/apps/codecs/libffmpegFLAC/coldfire.S +++ b/apps/codecs/libffmpegFLAC/coldfire.S | |||
@@ -48,21 +48,18 @@ lpc_decode_emac: | |||
48 | moveq.l #8, %d3 | 48 | moveq.l #8, %d3 |
49 | cmp.l %d3, %d2 | 49 | cmp.l %d3, %d2 |
50 | jgt .default | order is over 8, jump to default case | 50 | jgt .default | order is over 8, jump to default case |
51 | lea.l .jumptable, %a4 | 51 | jmp.l (2, %pc, %d2.l*4) | jump to loop corresponding to pred_order |
52 | move.l (%a4, %d2.l*4), %a4 | ||
53 | jmp (%a4) | ||
54 | .align 4 | avoid unaligned fetch | ||
55 | .jumptable: | 52 | .jumptable: |
56 | .long .exit | 53 | bra.w .exit | zero order filter isn't possible, exit function |
57 | .long .order1 | 54 | bra.w .order1 |
58 | .long .order2 | 55 | bra.w .order2 |
59 | .long .order3 | 56 | bra.w .order3 |
60 | .long .order4 | 57 | bra.w .order4 |
61 | .long .order5 | 58 | bra.w .order5 |
62 | .long .order6 | 59 | bra.w .order6 |
63 | .long .order7 | 60 | bra.w .order7 |
64 | .long .order8 | ||
65 | 61 | ||
62 | | last jump table entry coincides with target, so leave it out | ||
66 | .order8: | 63 | .order8: |
67 | movem.l (%a1), %d3-%d7/%a2-%a4 | load lpc coefs | 64 | movem.l (%a1), %d3-%d7/%a2-%a4 | load lpc coefs |
68 | move.l (%a0)+, %a5 | load first history sample | 65 | move.l (%a0)+, %a5 | load first history sample |
@@ -78,7 +75,7 @@ lpc_decode_emac: | |||
78 | movclr.l %acc0, %d2 | get sum | 75 | movclr.l %acc0, %d2 | get sum |
79 | asr.l %d1, %d2 | shift sum by lp_quantization bits | 76 | asr.l %d1, %d2 | shift sum by lp_quantization bits |
80 | add.l %d2, (%a0) | add residual and save | 77 | add.l %d2, (%a0) | add residual and save |
81 | lea.l (-6*4, %a0), %a0 | history pointer points at second element | 78 | lea.l (-6*4, %a0), %a0 | point history back at second element |
82 | subq.l #1, %d0 | decrement counter | 79 | subq.l #1, %d0 | decrement counter |
83 | jne .loop8 | are we done? | 80 | jne .loop8 | are we done? |
84 | jra .exit | 81 | jra .exit |