gecko-dev/media/libvpx/textrels.patch
Timothy B. Terriberry 52e8fde1e7 Bug 730907 - Update libvpx to v1.0.0, r=cpearce,khuey
--HG--
rename : media/libvpx/vp8/decoder/arm/armv6/dequant_idct_v6.asm => media/libvpx/vp8/common/arm/armv6/dequant_idct_v6.asm
rename : media/libvpx/vp8/decoder/arm/armv6/dequantize_v6.asm => media/libvpx/vp8/common/arm/armv6/dequantize_v6.asm
rename : media/libvpx/vp8/decoder/arm/armv6/idct_blk_v6.c => media/libvpx/vp8/common/arm/armv6/idct_blk_v6.c
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_mse16x16_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_mse16x16_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_sad16x16_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_sad16x16_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_variance16x16_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_variance16x16_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_variance8x8_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_variance8x8_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_variance_halfpixvar16x16_h_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_h_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_variance_halfpixvar16x16_hv_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_hv_armv6.asm
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_variance_halfpixvar16x16_v_armv6.asm => media/libvpx/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_v_armv6.asm
rename : media/libvpx/vp8/decoder/arm/dequantize_arm.c => media/libvpx/vp8/common/arm/dequantize_arm.c
rename : media/libvpx/vp8/decoder/arm/dequantize_arm.h => media/libvpx/vp8/common/arm/dequantize_arm.h
rename : media/libvpx/vp8/decoder/arm/neon/dequant_idct_neon.asm => media/libvpx/vp8/common/arm/neon/dequant_idct_neon.asm
rename : media/libvpx/vp8/decoder/arm/neon/dequantizeb_neon.asm => media/libvpx/vp8/common/arm/neon/dequantizeb_neon.asm
rename : media/libvpx/vp8/decoder/arm/neon/idct_blk_neon.c => media/libvpx/vp8/common/arm/neon/idct_blk_neon.c
rename : media/libvpx/vp8/decoder/arm/neon/idct_dequant_0_2x_neon.asm => media/libvpx/vp8/common/arm/neon/idct_dequant_0_2x_neon.asm
rename : media/libvpx/vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm => media/libvpx/vp8/common/arm/neon/idct_dequant_full_2x_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/sad16_neon.asm => media/libvpx/vp8/common/arm/neon/sad16_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/sad8_neon.asm => media/libvpx/vp8/common/arm/neon/sad8_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/variance_neon.asm => media/libvpx/vp8/common/arm/neon/variance_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/vp8_mse16x16_neon.asm => media/libvpx/vp8/common/arm/neon/vp8_mse16x16_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/vp8_subpixelvariance16x16_neon.asm => media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/vp8_subpixelvariance16x16s_neon.asm => media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16s_neon.asm
rename : media/libvpx/vp8/encoder/arm/neon/vp8_subpixelvariance8x8_neon.asm => media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm
rename : media/libvpx/vp8/encoder/arm/variance_arm.c => media/libvpx/vp8/common/arm/variance_arm.c
rename : media/libvpx/vp8/encoder/arm/variance_arm.h => media/libvpx/vp8/common/arm/variance_arm.h
rename : media/libvpx/vp8/decoder/dequantize.c => media/libvpx/vp8/common/dequantize.c
rename : media/libvpx/vp8/decoder/dequantize.h => media/libvpx/vp8/common/dequantize.h
rename : media/libvpx/vp8/decoder/idct_blk.c => media/libvpx/vp8/common/idct_blk.c
rename : media/libvpx/vp8/encoder/sad_c.c => media/libvpx/vp8/common/sad_c.c
rename : media/libvpx/vp8/encoder/variance.h => media/libvpx/vp8/common/variance.h
rename : media/libvpx/vp8/encoder/variance_c.c => media/libvpx/vp8/common/variance_c.c
rename : media/libvpx/vp8/decoder/x86/dequantize_mmx.asm => media/libvpx/vp8/common/x86/dequantize_mmx.asm
rename : media/libvpx/vp8/decoder/x86/dequantize_x86.h => media/libvpx/vp8/common/x86/dequantize_x86.h
rename : media/libvpx/vp8/decoder/x86/idct_blk_mmx.c => media/libvpx/vp8/common/x86/idct_blk_mmx.c
rename : media/libvpx/vp8/decoder/x86/idct_blk_sse2.c => media/libvpx/vp8/common/x86/idct_blk_sse2.c
rename : media/libvpx/vp8/encoder/x86/sad_mmx.asm => media/libvpx/vp8/common/x86/sad_mmx.asm
rename : media/libvpx/vp8/encoder/x86/sad_sse2.asm => media/libvpx/vp8/common/x86/sad_sse2.asm
rename : media/libvpx/vp8/encoder/x86/sad_sse3.asm => media/libvpx/vp8/common/x86/sad_sse3.asm
rename : media/libvpx/vp8/encoder/x86/sad_sse4.asm => media/libvpx/vp8/common/x86/sad_sse4.asm
rename : media/libvpx/vp8/encoder/x86/sad_ssse3.asm => media/libvpx/vp8/common/x86/sad_ssse3.asm
rename : media/libvpx/vp8/encoder/x86/variance_impl_mmx.asm => media/libvpx/vp8/common/x86/variance_impl_mmx.asm
rename : media/libvpx/vp8/encoder/x86/variance_impl_sse2.asm => media/libvpx/vp8/common/x86/variance_impl_sse2.asm
rename : media/libvpx/vp8/encoder/x86/variance_impl_ssse3.asm => media/libvpx/vp8/common/x86/variance_impl_ssse3.asm
rename : media/libvpx/vp8/encoder/x86/variance_mmx.c => media/libvpx/vp8/common/x86/variance_mmx.c
rename : media/libvpx/vp8/encoder/x86/variance_sse2.c => media/libvpx/vp8/common/x86/variance_sse2.c
rename : media/libvpx/vp8/encoder/x86/variance_ssse3.c => media/libvpx/vp8/common/x86/variance_ssse3.c
rename : media/libvpx/vp8/encoder/x86/variance_x86.h => media/libvpx/vp8/common/x86/variance_x86.h
rename : media/libvpx/vp8/encoder/arm/armv6/vp8_fast_fdct4x4_armv6.asm => media/libvpx/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm
rename : media/libvpx/vp8/common/defaultcoefcounts.c => media/libvpx/vp8/encoder/defaultcoefcounts.h
2012-04-29 20:51:44 -07:00

165 lines
5.8 KiB
Diff

# HG changeset patch
# Parent f7a8c8a419870421138438970a0514e79353ae34
# User Timothy B. Terriberry <tterribe@vt.edu>
Bug 730903 - Fix text relocations in libvpx variance functions.
diff --git a/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm b/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm
--- a/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm
+++ b/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm
@@ -4,16 +4,21 @@
; Use of this source code is governed by a BSD-style license
; that can be found in the LICENSE file in the root of the source
; tree. An additional intellectual property rights grant can be found
; in the file PATENTS. All contributing project authors may
; be found in the AUTHORS file in the root of the source tree.
;
+bilinear_taps_coeff
+ DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112
+
+;-----------------
+
EXPORT |vp8_sub_pixel_variance16x16_neon_func|
ARM
REQUIRE8
PRESERVE8
AREA ||.text||, CODE, READONLY, ALIGN=2
; r0 unsigned char *src_ptr,
; r1 int src_pixels_per_line,
@@ -22,17 +27,17 @@
; stack(r4) unsigned char *dst_ptr,
; stack(r5) int dst_pixels_per_line,
; stack(r6) unsigned int *sse
;note: most of the code is copied from bilinear_predict16x16_neon and vp8_variance16x16_neon.
|vp8_sub_pixel_variance16x16_neon_func| PROC
push {r4-r6, lr}
- ldr r12, _BilinearTaps_coeff_
+ adr r12, bilinear_taps_coeff
ldr r4, [sp, #16] ;load *dst_ptr from stack
ldr r5, [sp, #20] ;load dst_pixels_per_line from stack
ldr r6, [sp, #24] ;load *sse from stack
cmp r2, #0 ;skip first_pass filter if xoffset=0
beq secondpass_bfilter16x16_only
add r2, r12, r2, lsl #3 ;calculate filter location
@@ -410,16 +415,9 @@ sub_pixel_variance16x16_neon_loop
add sp, sp, #528
vmov.32 r0, d0[0] ;return
pop {r4-r6,pc}
ENDP
-;-----------------
-
-_BilinearTaps_coeff_
- DCD bilinear_taps_coeff
-bilinear_taps_coeff
- DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112
-
END
diff --git a/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm b/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm
--- a/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm
+++ b/media/libvpx/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm
@@ -22,17 +22,17 @@
; stack(r4) unsigned char *dst_ptr,
; stack(r5) int dst_pixels_per_line,
; stack(r6) unsigned int *sse
;note: most of the code is copied from bilinear_predict8x8_neon and vp8_variance8x8_neon.
|vp8_sub_pixel_variance8x8_neon| PROC
push {r4-r5, lr}
- ldr r12, _BilinearTaps_coeff_
+ adr r12, bilinear_taps_coeff
ldr r4, [sp, #12] ;load *dst_ptr from stack
ldr r5, [sp, #16] ;load dst_pixels_per_line from stack
ldr lr, [sp, #20] ;load *sse from stack
cmp r2, #0 ;skip first_pass filter if xoffset=0
beq skip_firstpass_filter
;First pass: output_height lines x output_width columns (9x8)
@@ -211,14 +211,12 @@ sub_pixel_variance8x8_neon_loop
vmov.32 r0, d0[0] ;return
pop {r4-r5, pc}
ENDP
;-----------------
-_BilinearTaps_coeff_
- DCD bilinear_taps_coeff
bilinear_taps_coeff
DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112
END
diff --git a/media/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.asm b/media/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.asm
--- a/media/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.asm
+++ b/media/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.asm
@@ -93,17 +93,17 @@
vsub.s16 q10, q12 ; x2=(y^sz)-sz = (y^sz)-(-1) (2's complement)
vsub.s16 q11, q13
ldr r6, [r3, #vp8_blockd_qcoeff]
vmul.s16 q2, q6, q4 ; x * Dequant
vmul.s16 q3, q7, q5
- ldr r0, _inv_zig_zag_ ; load ptr of inverse zigzag table
+ adr r0, inv_zig_zag ; load ptr of inverse zigzag table
vceq.s16 q8, q8 ; set q8 to all 1
vst1.s16 {q10, q11}, [r6] ; store: qcoeff = x2
vmul.s16 q12, q6, q10 ; x2 * Dequant
vmul.s16 q13, q7, q11
@@ -176,17 +176,17 @@
vshr.s16 q3, q1, #15
vld1.s16 {q14, q15}, [r5@128]; load round_ptr [0-15]
vld1.s16 {q8, q9}, [r4@128] ; load quant_ptr [0-15]
vadd.s16 q12, q14 ; x + Round
vadd.s16 q13, q15
- ldr r0, _inv_zig_zag_ ; load ptr of inverse zigzag table
+ adr r0, inv_zig_zag ; load ptr of inverse zigzag table
vqdmulh.s16 q12, q8 ; y = ((Round+abs(z)) * Quant) >> 16
vqdmulh.s16 q13, q9
vld1.16 {q10, q11}, [r0@128]; load inverse scan order
vceq.s16 q8, q8 ; set q8 to all 1
@@ -242,19 +242,16 @@ zero_output
vst1.s16 {q0, q1}, [r7@128] ; dqcoeff = 0
ldmfd sp!, {r4-r7}
bx lr
ENDP
; default inverse zigzag table is defined in vp8/common/entropy.c
-_inv_zig_zag_
- DCD inv_zig_zag
-
ALIGN 16 ; enable use of @128 bit aligned loads
inv_zig_zag
DCW 0x0001, 0x0002, 0x0006, 0x0007
DCW 0x0003, 0x0005, 0x0008, 0x000d
DCW 0x0004, 0x0009, 0x000c, 0x000e
DCW 0x000a, 0x000b, 0x000f, 0x0010
END