remove redundant loads

Originally committed as revision 7798 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Måns Rullgård 18 years ago
parent b956373b6f
commit 173fd724f5
  1. 10
      libavcodec/armv4l/simple_idct_armv6.S
  2. 1
      libavcodec/avcodec.h

@ -51,14 +51,14 @@ w57: .long W57
Compute partial IDCT of single row. Compute partial IDCT of single row.
shift = left-shift amount shift = left-shift amount
a1 = source address a1 = source address
a3 = row[2,0]
a4 = row[3,1]
Output in registers v1--v8 Output in registers v1--v8
*/ */
.macro idct_row shift .macro idct_row shift
ldr a3, [a1] /* a3 = row[2,0] */
ldr ip, [pc, #(w42-.-8)] /* ip = W4 | (W2 << 16) */ ldr ip, [pc, #(w42-.-8)] /* ip = W4 | (W2 << 16) */
ldr lr, [pc, #(w46-.-8)] /* lr = W4 | (W6 << 16) */ ldr lr, [pc, #(w46-.-8)] /* lr = W4 | (W6 << 16) */
ldr a4, [a1, #8] /* a4 = row[3,1] */
mov a2, #(1<<(\shift-1)) mov a2, #(1<<(\shift-1))
smlad v1, a3, ip, a2 smlad v1, a3, ip, a2
smlsd v4, a3, ip, a2 smlsd v4, a3, ip, a2
@ -248,6 +248,8 @@ idct_row_armv6:
idct_col_armv6: idct_col_armv6:
stmfd sp!, {a2, lr} stmfd sp!, {a2, lr}
ldr a3, [a1] /* a3 = row[2,0] */
ldr a4, [a1, #8] /* a4 = row[3,1] */
idct_row COL_SHIFT idct_row COL_SHIFT
ldr a2, [sp], #4 ldr a2, [sp], #4
idct_finish_shift COL_SHIFT idct_finish_shift COL_SHIFT
@ -275,6 +277,8 @@ idct_col_armv6:
idct_col_put_armv6: idct_col_put_armv6:
stmfd sp!, {a2, a3, lr} stmfd sp!, {a2, a3, lr}
ldr a3, [a1] /* a3 = row[2,0] */
ldr a4, [a1, #8] /* a4 = row[3,1] */
idct_row COL_SHIFT idct_row COL_SHIFT
ldmfd sp!, {a2, a3} ldmfd sp!, {a2, a3}
idct_finish_shift_sat COL_SHIFT idct_finish_shift_sat COL_SHIFT
@ -304,6 +308,8 @@ idct_col_put_armv6:
idct_col_add_armv6: idct_col_add_armv6:
stmfd sp!, {a2, a3, lr} stmfd sp!, {a2, a3, lr}
ldr a3, [a1] /* a3 = row[2,0] */
ldr a4, [a1, #8] /* a4 = row[3,1] */
idct_row COL_SHIFT idct_row COL_SHIFT
ldmfd sp!, {a2, a3} ldmfd sp!, {a2, a3}
idct_finish idct_finish

@ -238,6 +238,7 @@ enum CodecID {
CODEC_ID_DSICINAUDIO, CODEC_ID_DSICINAUDIO,
CODEC_ID_IMC, CODEC_ID_IMC,
CODEC_ID_MUSEPACK7, CODEC_ID_MUSEPACK7,
CODEC_ID_MLP,
/* subtitle codecs */ /* subtitle codecs */
CODEC_ID_DVD_SUBTITLE= 0x17000, CODEC_ID_DVD_SUBTITLE= 0x17000,

Loading…
Cancel
Save