diff options
author | Mans Rullgard <mans@mansr.com> | 2011-01-29 17:14:29 +0000 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-01-29 17:14:29 +0000 |
commit | d461a4731781e492d83ef254f9c0fbd0ce6e47eb (patch) | |
tree | b9b3dc464fd59826820a9d1380597d3fcebdaa2d /libavcodec/arm/mpegvideo_neon.S | |
parent | a8f0814a742dee4783afaa5bedb01aa0c77b1fc4 (diff) | |
download | ffmpeg-d461a4731781e492d83ef254f9c0fbd0ce6e47eb.tar.gz |
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.S | 13 |
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 |