diff options
-rw-r--r-- | vp8/common/arm/armv6/sixtappredict8x4_v6.asm | 6 | ||||
-rw-r--r-- | vp8/common/arm/neon/bilinearpredict16x16_neon.asm | 4 | ||||
-rw-r--r-- | vp8/common/arm/neon/bilinearpredict4x4_neon.asm | 4 | ||||
-rw-r--r-- | vp8/common/arm/neon/bilinearpredict8x4_neon.asm | 4 | ||||
-rw-r--r-- | vp8/common/arm/neon/bilinearpredict8x8_neon.asm | 4 | ||||
-rw-r--r-- | vp8/common/arm/neon/shortidct4x4llm_neon.asm | 4 | ||||
-rw-r--r-- | vp8/common/arm/neon/sixtappredict16x16_neon.asm | 26 | ||||
-rw-r--r-- | vp8/common/arm/neon/sixtappredict4x4_neon.asm | 25 | ||||
-rw-r--r-- | vp8/common/arm/neon/sixtappredict8x4_neon.asm | 25 | ||||
-rw-r--r-- | vp8/common/arm/neon/sixtappredict8x8_neon.asm | 25 | ||||
-rw-r--r-- | vp8/decoder/arm/neon/dequant_idct_neon.asm | 3 | ||||
-rw-r--r-- | vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm | 3 | ||||
-rw-r--r-- | vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm | 3 |
13 files changed, 58 insertions, 78 deletions
diff --git a/vp8/common/arm/armv6/sixtappredict8x4_v6.asm b/vp8/common/arm/armv6/sixtappredict8x4_v6.asm index 3fda1cefa..e81aef53d 100644 --- a/vp8/common/arm/armv6/sixtappredict8x4_v6.asm +++ b/vp8/common/arm/armv6/sixtappredict8x4_v6.asm @@ -32,7 +32,7 @@ beq skip_firstpass_filter ;first-pass filter - ldr r12, _filter8_coeff_ + adr r12, filter8_coeff sub r0, r0, r1, lsl #1 add r3, r1, #10 ; preload next low @@ -127,7 +127,7 @@ secondpass_filter cmp r3, #0 beq skip_secondpass_filter - ldr r12, _filter8_coeff_ + adr r12, filter8_coeff add lr, r12, r3, lsl #4 ;calculate filter location mov r2, #0x00080000 @@ -251,8 +251,6 @@ skip_secondpass_hloop ;----------------- ;One word each is reserved. Label filter_coeff can be used to access the data. ;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... -_filter8_coeff_ - DCD filter8_coeff filter8_coeff DCD 0x00000000, 0x00000080, 0x00000000, 0x00000000 DCD 0xfffa0000, 0x000c007b, 0x0000ffff, 0x00000000 diff --git a/vp8/common/arm/neon/bilinearpredict16x16_neon.asm b/vp8/common/arm/neon/bilinearpredict16x16_neon.asm index 79e1a6935..e392786d4 100644 --- a/vp8/common/arm/neon/bilinearpredict16x16_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict16x16_neon.asm @@ -25,7 +25,7 @@ |vp8_bilinear_predict16x16_neon| PROC push {r4-r5, lr} - ldr r12, _bifilter16_coeff_ + adr r12, bifilter16_coeff ldr r4, [sp, #12] ;load parameters from stack ldr r5, [sp, #16] ;load parameters from stack @@ -351,8 +351,6 @@ filt_blk2d_spo16x16_loop_neon ;----------------- -_bifilter16_coeff_ - DCD bifilter16_coeff bifilter16_coeff DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 diff --git a/vp8/common/arm/neon/bilinearpredict4x4_neon.asm b/vp8/common/arm/neon/bilinearpredict4x4_neon.asm index 10cd1b8bd..0ac62436f 100644 --- a/vp8/common/arm/neon/bilinearpredict4x4_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict4x4_neon.asm @@ -25,7 +25,7 @@ |vp8_bilinear_predict4x4_neon| PROC push {r4, lr} - ldr r12, _bifilter4_coeff_ + adr r12, bifilter4_coeff ldr r4, [sp, #8] ;load parameters from stack ldr lr, [sp, #12] ;load parameters from stack @@ -124,8 +124,6 @@ skip_secondpass_filter ;----------------- -_bifilter4_coeff_ - DCD bifilter4_coeff bifilter4_coeff DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 diff --git a/vp8/common/arm/neon/bilinearpredict8x4_neon.asm b/vp8/common/arm/neon/bilinearpredict8x4_neon.asm index bf37bb0d6..41f5c45ff 100644 --- a/vp8/common/arm/neon/bilinearpredict8x4_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict8x4_neon.asm @@ -25,7 +25,7 @@ |vp8_bilinear_predict8x4_neon| PROC push {r4, lr} - ldr r12, _bifilter8x4_coeff_ + adr r12, bifilter8x4_coeff ldr r4, [sp, #8] ;load parameters from stack ldr lr, [sp, #12] ;load parameters from stack @@ -129,8 +129,6 @@ skip_secondpass_filter ;----------------- -_bifilter8x4_coeff_ - DCD bifilter8x4_coeff bifilter8x4_coeff DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 diff --git a/vp8/common/arm/neon/bilinearpredict8x8_neon.asm b/vp8/common/arm/neon/bilinearpredict8x8_neon.asm index 9b29df6c3..c4711bc4d 100644 --- a/vp8/common/arm/neon/bilinearpredict8x8_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict8x8_neon.asm @@ -25,7 +25,7 @@ |vp8_bilinear_predict8x8_neon| PROC push {r4, lr} - ldr r12, _bifilter8_coeff_ + adr r12, bifilter8_coeff ldr r4, [sp, #8] ;load parameters from stack ldr lr, [sp, #12] ;load parameters from stack @@ -177,8 +177,6 @@ skip_secondpass_filter ;----------------- -_bifilter8_coeff_ - DCD bifilter8_coeff bifilter8_coeff DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 diff --git a/vp8/common/arm/neon/shortidct4x4llm_neon.asm b/vp8/common/arm/neon/shortidct4x4llm_neon.asm index 16c4d2d24..b74c31521 100644 --- a/vp8/common/arm/neon/shortidct4x4llm_neon.asm +++ b/vp8/common/arm/neon/shortidct4x4llm_neon.asm @@ -31,7 +31,7 @@ ;result of the multiplication that is needed in IDCT. |vp8_short_idct4x4llm_neon| PROC - ldr r12, _idct_coeff_ + adr r12, idct_coeff vld1.16 {q1, q2}, [r0] vld1.16 {d0}, [r12] @@ -114,8 +114,6 @@ ;----------------- -_idct_coeff_ - DCD idct_coeff idct_coeff DCD 0x4e7b4e7b, 0x8a8c8a8c diff --git a/vp8/common/arm/neon/sixtappredict16x16_neon.asm b/vp8/common/arm/neon/sixtappredict16x16_neon.asm index 3c22fa19b..9fdafd360 100644 --- a/vp8/common/arm/neon/sixtappredict16x16_neon.asm +++ b/vp8/common/arm/neon/sixtappredict16x16_neon.asm @@ -15,6 +15,17 @@ PRESERVE8 AREA ||.text||, CODE, READONLY, ALIGN=2 + +filter16_coeff + DCD 0, 0, 128, 0, 0, 0, 0, 0 + DCD 0, -6, 123, 12, -1, 0, 0, 0 + DCD 2, -11, 108, 36, -8, 1, 0, 0 + DCD 0, -9, 93, 50, -6, 0, 0, 0 + DCD 3, -16, 77, 77, -16, 3, 0, 0 + DCD 0, -6, 50, 93, -9, 0, 0, 0 + DCD 1, -8, 36, 108, -11, 2, 0, 0 + DCD 0, -1, 12, 123, -6, 0, 0, 0 + ; r0 unsigned char *src_ptr, ; r1 int src_pixels_per_line, ; r2 int xoffset, @@ -33,7 +44,7 @@ |vp8_sixtap_predict16x16_neon| PROC push {r4-r5, lr} - ldr r12, _filter16_coeff_ + adr r12, filter16_coeff ldr r4, [sp, #12] ;load parameters from stack ldr r5, [sp, #16] ;load parameters from stack @@ -476,17 +487,4 @@ secondpass_only_inner_loop_neon ENDP ;----------------- - -_filter16_coeff_ - DCD filter16_coeff -filter16_coeff - DCD 0, 0, 128, 0, 0, 0, 0, 0 - DCD 0, -6, 123, 12, -1, 0, 0, 0 - DCD 2, -11, 108, 36, -8, 1, 0, 0 - DCD 0, -9, 93, 50, -6, 0, 0, 0 - DCD 3, -16, 77, 77, -16, 3, 0, 0 - DCD 0, -6, 50, 93, -9, 0, 0, 0 - DCD 1, -8, 36, 108, -11, 2, 0, 0 - DCD 0, -1, 12, 123, -6, 0, 0, 0 - END diff --git a/vp8/common/arm/neon/sixtappredict4x4_neon.asm b/vp8/common/arm/neon/sixtappredict4x4_neon.asm index 2dc3f591f..41510e854 100644 --- a/vp8/common/arm/neon/sixtappredict4x4_neon.asm +++ b/vp8/common/arm/neon/sixtappredict4x4_neon.asm @@ -15,6 +15,17 @@ PRESERVE8 AREA ||.text||, CODE, READONLY, ALIGN=2 + +filter4_coeff + DCD 0, 0, 128, 0, 0, 0, 0, 0 + DCD 0, -6, 123, 12, -1, 0, 0, 0 + DCD 2, -11, 108, 36, -8, 1, 0, 0 + DCD 0, -9, 93, 50, -6, 0, 0, 0 + DCD 3, -16, 77, 77, -16, 3, 0, 0 + DCD 0, -6, 50, 93, -9, 0, 0, 0 + DCD 1, -8, 36, 108, -11, 2, 0, 0 + DCD 0, -1, 12, 123, -6, 0, 0, 0 + ; r0 unsigned char *src_ptr, ; r1 int src_pixels_per_line, ; r2 int xoffset, @@ -25,7 +36,7 @@ |vp8_sixtap_predict_neon| PROC push {r4, lr} - ldr r12, _filter4_coeff_ + adr r12, filter4_coeff ldr r4, [sp, #8] ;load parameters from stack ldr lr, [sp, #12] ;load parameters from stack @@ -408,16 +419,4 @@ secondpass_filter4x4_only ;----------------- -_filter4_coeff_ - DCD filter4_coeff -filter4_coeff - DCD 0, 0, 128, 0, 0, 0, 0, 0 - DCD 0, -6, 123, 12, -1, 0, 0, 0 - DCD 2, -11, 108, 36, -8, 1, 0, 0 - DCD 0, -9, 93, 50, -6, 0, 0, 0 - DCD 3, -16, 77, 77, -16, 3, 0, 0 - DCD 0, -6, 50, 93, -9, 0, 0, 0 - DCD 1, -8, 36, 108, -11, 2, 0, 0 - DCD 0, -1, 12, 123, -6, 0, 0, 0 - END diff --git a/vp8/common/arm/neon/sixtappredict8x4_neon.asm b/vp8/common/arm/neon/sixtappredict8x4_neon.asm index 0904f52ca..a57ec015f 100644 --- a/vp8/common/arm/neon/sixtappredict8x4_neon.asm +++ b/vp8/common/arm/neon/sixtappredict8x4_neon.asm @@ -15,6 +15,17 @@ PRESERVE8 AREA ||.text||, CODE, READONLY, ALIGN=2 + +filter8_coeff + DCD 0, 0, 128, 0, 0, 0, 0, 0 + DCD 0, -6, 123, 12, -1, 0, 0, 0 + DCD 2, -11, 108, 36, -8, 1, 0, 0 + DCD 0, -9, 93, 50, -6, 0, 0, 0 + DCD 3, -16, 77, 77, -16, 3, 0, 0 + DCD 0, -6, 50, 93, -9, 0, 0, 0 + DCD 1, -8, 36, 108, -11, 2, 0, 0 + DCD 0, -1, 12, 123, -6, 0, 0, 0 + ; r0 unsigned char *src_ptr, ; r1 int src_pixels_per_line, ; r2 int xoffset, @@ -25,7 +36,7 @@ |vp8_sixtap_predict8x4_neon| PROC push {r4-r5, lr} - ldr r12, _filter8_coeff_ + adr r12, filter8_coeff ldr r4, [sp, #12] ;load parameters from stack ldr r5, [sp, #16] ;load parameters from stack @@ -459,16 +470,4 @@ secondpass_filter8x4_only ;----------------- -_filter8_coeff_ - DCD filter8_coeff -filter8_coeff - DCD 0, 0, 128, 0, 0, 0, 0, 0 - DCD 0, -6, 123, 12, -1, 0, 0, 0 - DCD 2, -11, 108, 36, -8, 1, 0, 0 - DCD 0, -9, 93, 50, -6, 0, 0, 0 - DCD 3, -16, 77, 77, -16, 3, 0, 0 - DCD 0, -6, 50, 93, -9, 0, 0, 0 - DCD 1, -8, 36, 108, -11, 2, 0, 0 - DCD 0, -1, 12, 123, -6, 0, 0, 0 - END diff --git a/vp8/common/arm/neon/sixtappredict8x8_neon.asm b/vp8/common/arm/neon/sixtappredict8x8_neon.asm index 33af86f8f..00ed5aeef 100644 --- a/vp8/common/arm/neon/sixtappredict8x8_neon.asm +++ b/vp8/common/arm/neon/sixtappredict8x8_neon.asm @@ -15,6 +15,17 @@ PRESERVE8 AREA ||.text||, CODE, READONLY, ALIGN=2 + +filter8_coeff + DCD 0, 0, 128, 0, 0, 0, 0, 0 + DCD 0, -6, 123, 12, -1, 0, 0, 0 + DCD 2, -11, 108, 36, -8, 1, 0, 0 + DCD 0, -9, 93, 50, -6, 0, 0, 0 + DCD 3, -16, 77, 77, -16, 3, 0, 0 + DCD 0, -6, 50, 93, -9, 0, 0, 0 + DCD 1, -8, 36, 108, -11, 2, 0, 0 + DCD 0, -1, 12, 123, -6, 0, 0, 0 + ; r0 unsigned char *src_ptr, ; r1 int src_pixels_per_line, ; r2 int xoffset, @@ -25,7 +36,7 @@ |vp8_sixtap_predict8x8_neon| PROC push {r4-r5, lr} - ldr r12, _filter8_coeff_ + adr r12, filter8_coeff ldr r4, [sp, #12] ;load parameters from stack ldr r5, [sp, #16] ;load parameters from stack @@ -510,16 +521,4 @@ filt_blk2d_spo8x8_loop_neon ;----------------- -_filter8_coeff_ - DCD filter8_coeff -filter8_coeff - DCD 0, 0, 128, 0, 0, 0, 0, 0 - DCD 0, -6, 123, 12, -1, 0, 0, 0 - DCD 2, -11, 108, 36, -8, 1, 0, 0 - DCD 0, -9, 93, 50, -6, 0, 0, 0 - DCD 3, -16, 77, 77, -16, 3, 0, 0 - DCD 0, -6, 50, 93, -9, 0, 0, 0 - DCD 1, -8, 36, 108, -11, 2, 0, 0 - DCD 0, -1, 12, 123, -6, 0, 0, 0 - END diff --git a/vp8/decoder/arm/neon/dequant_idct_neon.asm b/vp8/decoder/arm/neon/dequant_idct_neon.asm index 1923be42a..4bf661857 100644 --- a/vp8/decoder/arm/neon/dequant_idct_neon.asm +++ b/vp8/decoder/arm/neon/dequant_idct_neon.asm @@ -35,7 +35,7 @@ ldr r1, [sp, #4] ; stride - ldr r12, _CONSTANTS_ + adr r12, cospi8sqrt2minus1 ; pointer to the first constant vmul.i16 q1, q3, q5 ;input for short_idct4x4llm_neon vmul.i16 q2, q4, q6 @@ -123,7 +123,6 @@ ENDP ; |vp8_dequant_idct_add_neon| ; Constant Pool -_CONSTANTS_ DCD cospi8sqrt2minus1 cospi8sqrt2minus1 DCD 0x4e7b4e7b sinpi8sqrt2 DCD 0x8a8c8a8c diff --git a/vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm b/vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm index ad4364adc..61fa66075 100644 --- a/vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm +++ b/vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm @@ -41,7 +41,7 @@ ldr r1, [sp, #4] vld1.32 {d31[1]}, [r12] - ldr r2, _CONSTANTS_ + adr r2, cospi8sqrt2minus1 ; pointer to the first constant ldrh r12, [r1], #2 ; lo *dc ldrh r1, [r1] ; hi *dc @@ -198,7 +198,6 @@ ENDP ; |idct_dequant_dc_full_2x_neon| ; Constant Pool -_CONSTANTS_ DCD cospi8sqrt2minus1 cospi8sqrt2minus1 DCD 0x4e7b ; because the lowest bit in 0x8a8c is 0, we can pre-shift this sinpi8sqrt2 DCD 0x4546 diff --git a/vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm b/vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm index 85fff11b3..772ec4685 100644 --- a/vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm +++ b/vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm @@ -40,7 +40,7 @@ vld1.32 {d31[0]}, [r2] vld1.32 {d31[1]}, [r12] - ldr r2, _CONSTANTS_ + adr r2, cospi8sqrt2minus1 ; pointer to the first constant ; dequant: q[i] = q[i] * dq[i] vmul.i16 q2, q2, q0 @@ -190,7 +190,6 @@ ENDP ; |idct_dequant_full_2x_neon| ; Constant Pool -_CONSTANTS_ DCD cospi8sqrt2minus1 cospi8sqrt2minus1 DCD 0x4e7b ; because the lowest bit in 0x8a8c is 0, we can pre-shift this sinpi8sqrt2 DCD 0x4546 |