summaryrefslogtreecommitdiff
path: root/libavcodec/arm/mpegvideo_neon.S
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-01-29 17:14:29 +0000
committerMans Rullgard <mans@mansr.com>2011-01-29 17:14:29 +0000
commitd461a4731781e492d83ef254f9c0fbd0ce6e47eb (patch)
treeb9b3dc464fd59826820a9d1380597d3fcebdaa2d /libavcodec/arm/mpegvideo_neon.S
parenta8f0814a742dee4783afaa5bedb01aa0c77b1fc4 (diff)
Rearrange MpegEncContext to simplify access from asm
This moves the fields needed by asm near the top, before any structs or other members which complicate the offset calculation. Modifying other structs will no longer require updating the offsets, and the asm code is slightly simpler due to the smaller offsets. Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/arm/mpegvideo_neon.S')
-rw-r--r--libavcodec/arm/mpegvideo_neon.S13
1 files changed, 5 insertions, 8 deletions
diff --git a/libavcodec/arm/mpegvideo_neon.S b/libavcodec/arm/mpegvideo_neon.S
index b25ead4941..b695fb7c22 100644
--- a/libavcodec/arm/mpegvideo_neon.S
+++ b/libavcodec/arm/mpegvideo_neon.S
@@ -22,10 +22,9 @@
#include "asm-offsets.h"
function ff_dct_unquantize_h263_inter_neon, export=1
- add r0, r0, #0x2200
- add r12, r0, #BLOCK_LAST_INDEX-0x2200
+ add r12, r0, #BLOCK_LAST_INDEX
ldr r12, [r12, r2, lsl #2]
- add r0, r0, #INTER_SCANTAB_RASTER_END-0x2200
+ add r0, r0, #INTER_SCANTAB_RASTER_END
ldrb r12, [r0, r12]
sub r2, r3, #1
lsl r0, r3, #1
@@ -75,17 +74,15 @@ endfunc
function ff_dct_unquantize_h263_intra_neon, export=1
push {r4-r6,lr}
+ add r12, r0, #BLOCK_LAST_INDEX
ldr r6, [r0, #AC_PRED]
- add r5, r0, #0x2700
+ add lr, r0, #INTER_SCANTAB_RASTER_END
cmp r6, #0
movne r12, #63
bne 1f
- add lr, r0, #0x2200
- add r12, lr, #BLOCK_LAST_INDEX-0x2200
- add lr, lr, #INTER_SCANTAB_RASTER_END-0x2200
ldr r12, [r12, r2, lsl #2]
ldrb r12, [lr, r12]
-1: ldr r5, [r5, #H263_AIC-0x2700]
+1: ldr r5, [r0, #H263_AIC]
ldrsh r4, [r1]
cmp r5, #0
mov r5, r1