summaryrefslogtreecommitdiff
path: root/libavcodec/arm
diff options
context:
space:
mode:
authorpin xue <pinxue@gmail.com>2011-04-09 16:05:11 +0800
committerMichael Niedermayer <michaelni@gmx.at>2011-04-10 03:49:24 +0200
commit05c062e9da370c60f48e433308cccbf7e7aea7fe (patch)
tree7d16013beb2e3952a02bf24124c4aed50a5c0af0 /libavcodec/arm
parenta2beabc231f0d0c509e5c8f09fdab0ccb46eca10 (diff)
replace movw instruction in ac3dsp_armv6.S
AS libavcodec/arm/ac3dsp_armv6.o ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S: Assembler messages: ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S:40: Error: selected processor does not support `movw r8,#0x1fe0' make[1]: *** [libavcodec/arm/ac3dsp_armv6.o] Error 1 MOVW is ARMv7 way to load constant: * movw, or move wide, will move a 16-bit constant into a register, implicitly zeroing the top 16 bits of the target register. * movt, or move top, will move a 16-bit constant into the top half of a given register without altering the bottom 16 bits To load 32 bit constant, movw lower16; movt upper16; is better than ldr if available, because: While this approach takes two instructions, it does not require any extra space to store the constant so both the movw/movt method and the ldr method will end up using the same amount of memory. Memory bandwidth is precious in and the movw/movt approach avoids an extra read on the data side, not to mention the read could have missed the cache. But here it is armv6 optimization, so that we have to use ldr. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/arm')
-rw-r--r--libavcodec/arm/ac3dsp_armv6.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/arm/ac3dsp_armv6.S b/libavcodec/arm/ac3dsp_armv6.S
index 7f01addbde..002f20faef 100644
--- a/libavcodec/arm/ac3dsp_armv6.S
+++ b/libavcodec/arm/ac3dsp_armv6.S
@@ -37,7 +37,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1
ldrb r10, [r4], #1
1:
ldrsh r9, [r0], #2 @ mask[band]
- movw r8, #0x1fe0
+ ldr r8, =0x1fe0
sub r9, r9, r12 @ - snr_offset
mov r11, r10
ldrb r10, [r4], #1 @ band_start_tab[band++]