/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp9/common/arm/neon/ |
D | vp9_idct16x16_add_neon.asm | 53 vld2.s16 {q8,q9}, [r0]! 54 vld2.s16 {q9,q10}, [r0]! 55 vld2.s16 {q10,q11}, [r0]! 56 vld2.s16 {q11,q12}, [r0]! 57 vld2.s16 {q12,q13}, [r0]! 58 vld2.s16 {q13,q14}, [r0]! 59 vld2.s16 {q14,q15}, [r0]! 60 vld2.s16 {q1,q2}, [r0]! 61 vmov.s16 q15, q1 88 vmull.s16 q2, d18, d0 [all …]
|
D | vp9_idct8x8_add_neon.asm | 32 vmull.s16 q2, d18, d0 33 vmull.s16 q3, d19, d0 36 vmull.s16 q5, d26, d2 37 vmull.s16 q6, d27, d2 40 vmlsl.s16 q2, d30, d1 41 vmlsl.s16 q3, d31, d1 44 vmlsl.s16 q5, d22, d3 45 vmlsl.s16 q6, d23, d3 56 vmull.s16 q2, d18, d1 57 vmull.s16 q3, d19, d1 [all …]
|
D | vp9_iht8x8_add_neon.asm | 131 vmull.s16 q2, d18, d0 132 vmull.s16 q3, d19, d0 135 vmull.s16 q5, d26, d2 136 vmull.s16 q6, d27, d2 139 vmlsl.s16 q2, d30, d1 140 vmlsl.s16 q3, d31, d1 143 vmlsl.s16 q5, d22, d3 144 vmlsl.s16 q6, d23, d3 155 vmull.s16 q2, d18, d1 156 vmull.s16 q3, d19, d1 [all …]
|
D | vp9_reconintra_neon.asm | 316 vadd.s16 q1, q1, q3 317 vadd.s16 q2, q2, q3 318 vqmovun.s16 d0, q1 319 vqmovun.s16 d1, q2 328 vadd.s16 q1, q1, q3 329 vadd.s16 q2, q2, q3 330 vqmovun.s16 d0, q1 331 vqmovun.s16 d1, q2 366 vadd.s16 q0, q3, q0 367 vadd.s16 q1, q3, q1 [all …]
|
D | vp9_idct32x32_add_neon.asm | 65 vld1.s16 {q14}, [r0] 67 vld1.s16 {q13}, [r0] 81 vld1.s16 {$reg1}, [r1] 83 vld1.s16 {$reg2}, [r1] 107 vld1.s16 {d8}, [r10], r2 108 vld1.s16 {d11}, [r9], r11 109 vld1.s16 {d9}, [r10] 110 vld1.s16 {d10}, [r9] 112 vrshr.s16 q7, q7, #6 113 vrshr.s16 q8, q8, #6 [all …]
|
D | vp9_idct16x16_1_add_neon.asm | 47 vdup.s16 q0, r0 ; duplicate a1 65 vqmovun.s16 d2, q9 ; clip_pixel 66 vqmovun.s16 d3, q10 ; clip_pixel 67 vqmovun.s16 d30, q11 ; clip_pixel 68 vqmovun.s16 d31, q12 ; clip_pixel 78 vqmovun.s16 d2, q9 ; clip_pixel 79 vqmovun.s16 d3, q10 ; clip_pixel 80 vqmovun.s16 d30, q11 ; clip_pixel 81 vqmovun.s16 d31, q12 ; clip_pixel 101 vqmovun.s16 d2, q9 ; clip_pixel [all …]
|
D | vp9_idct4x4_add_neon.asm | 36 vld1.s16 {q8,q9}, [r0]! 76 vadd.s16 d23, d16, d18 ; (input[0] + input[2]) 77 vsub.s16 d24, d16, d18 ; (input[0] - input[2]) 79 vmull.s16 q15, d17, d22 ; input[1] * cospi_24_64 80 vmull.s16 q1, d17, d20 ; input[1] * cospi_8_64 84 vmull.s16 q13, d23, d21 85 vmull.s16 q14, d24, d21 89 vmlsl.s16 q15, d19, d20 90 vmlal.s16 q1, d19, d22 103 vadd.s16 q8, q13, q14 [all …]
|
D | vp9_iht4x4_add_neon.asm | 26 vadd.s16 d23, d16, d18 ; (input[0] + input[2]) 27 vsub.s16 d24, d16, d18 ; (input[0] - input[2]) 29 vmull.s16 q15, d17, d2 ; input[1] * cospi_24_64 30 vmull.s16 q10, d17, d0 ; input[1] * cospi_8_64 31 vmull.s16 q13, d23, d1 ; (input[0] + input[2]) * cospi_16_64 32 vmull.s16 q14, d24, d1 ; (input[0] - input[2]) * cospi_16_64 33 vmlsl.s16 q15, d19, d0 ; input[1] * cospi_24_64 - input[3] * cospi_8_64 34 vmlal.s16 q10, d19, d2 ; input[1] * cospi_8_64 + input[3] * cospi_24_64 47 vadd.s16 q8, q13, q14 48 vsub.s16 q9, q13, q14 [all …]
|
D | vp9_idct8x8_1_add_neon.asm | 47 vdup.s16 q0, r0 ; duplicate a1 63 vqmovun.s16 d2, q9 ; clip_pixel 64 vqmovun.s16 d3, q10 ; clip_pixel 65 vqmovun.s16 d30, q11 ; clip_pixel 66 vqmovun.s16 d31, q12 ; clip_pixel 76 vqmovun.s16 d2, q9 ; clip_pixel 77 vqmovun.s16 d3, q10 ; clip_pixel 78 vqmovun.s16 d30, q11 ; clip_pixel 79 vqmovun.s16 d31, q12 ; clip_pixel
|
D | vp9_convolve8_neon.asm | 33 vmull.s16 $dst, $src0, d0[0] 34 vmlal.s16 $dst, $src1, d0[1] 35 vmlal.s16 $dst, $src2, d0[2] 36 vmlal.s16 $dst, $src3, d0[3] 37 vmlal.s16 $dst, $src4, d1[0] 38 vmlal.s16 $dst, $src5, d1[1] 39 vmlal.s16 $dst, $src6, d1[2] 40 vmlal.s16 $dst, $src7, d1[3] 67 vld1.s16 {q0}, [r5] ; filter_x 121 ; extract to s16 [all …]
|
D | vp9_convolve8_avg_neon.asm | 33 vmull.s16 $dst, $src0, d0[0] 34 vmlal.s16 $dst, $src1, d0[1] 35 vmlal.s16 $dst, $src2, d0[2] 36 vmlal.s16 $dst, $src3, d0[3] 37 vmlal.s16 $dst, $src4, d1[0] 38 vmlal.s16 $dst, $src5, d1[1] 39 vmlal.s16 $dst, $src6, d1[2] 40 vmlal.s16 $dst, $src7, d1[3] 67 vld1.s16 {q0}, [r5] ; filter_x 121 ; extract to s16 [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/encoder/arm/neon/ |
D | shortfdct_neon.asm | 50 vadd.s16 d4, d0, d3 ; a1 = ip[0] + ip[3] 51 vadd.s16 d5, d1, d2 ; b1 = ip[1] + ip[2] 52 vsub.s16 d6, d1, d2 ; c1 = ip[1] - ip[2] 53 vsub.s16 d7, d0, d3 ; d1 = ip[0] - ip[3] 55 vshl.s16 q2, q2, #3 ; (a1, b1) << 3 56 vshl.s16 q3, q3, #3 ; (c1, d1) << 3 58 vadd.s16 d0, d4, d5 ; op[0] = a1 + b1 59 vsub.s16 d2, d4, d5 ; op[2] = a1 - b1 61 vmlal.s16 q9, d7, d16 ; d1*5352 + 14500 62 vmlal.s16 q10, d7, d17 ; d1*2217 + 7500 [all …]
|
D | fastquantizeb_neon.asm | 37 vabs.s16 q4, q0 ; calculate x = abs(z) 38 vabs.s16 q5, q1 41 vshr.s16 q2, q0, #15 ; sz 42 vshr.s16 q3, q1, #15 44 vld1.s16 {q6, q7}, [r6@128] ; load round_ptr [0-15] 45 vld1.s16 {q8, q9}, [r5@128] ; load quant_ptr [0-15] 49 vadd.s16 q4, q6 ; x + Round 50 vadd.s16 q5, q7 54 vqdmulh.s16 q4, q8 ; y = ((Round+abs(z)) * Quant) >> 16 55 vqdmulh.s16 q5, q9 [all …]
|
D | vp8_shortwalsh4x4_neon.asm | 40 vadd.s16 d4, d0, d2 ; ip[0] + ip[2] 41 vadd.s16 d5, d1, d3 ; ip[1] + ip[3] 42 vsub.s16 d6, d1, d3 ; ip[1] - ip[3] 43 vsub.s16 d7, d0, d2 ; ip[0] - ip[2] 45 vshl.s16 d4, d4, #2 ; a1 = (ip[0] + ip[2]) << 2 46 vshl.s16 d5, d5, #2 ; d1 = (ip[1] + ip[3]) << 2 47 vshl.s16 d6, d6, #2 ; c1 = (ip[1] - ip[3]) << 2 48 vceq.s16 d16, d4, #0 ; a1 == 0 49 vshl.s16 d7, d7, #2 ; b1 = (ip[0] - ip[2]) << 2 51 vadd.s16 d0, d4, d5 ; a1 + d1 [all …]
|
D | vp8_mse16x16_neon.asm | 48 vmlal.s16 q7, d22, d22 49 vmlal.s16 q8, d23, d23 53 vmlal.s16 q9, d24, d24 54 vmlal.s16 q10, d25, d25 55 vmlal.s16 q7, d26, d26 56 vmlal.s16 q8, d27, d27 57 vmlal.s16 q9, d28, d28 58 vmlal.s16 q10, d29, d29 99 vmull.s16 q7, d22, d22 100 vmull.s16 q8, d24, d24 [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/common/arm/neon/ |
D | idct_dequant_full_2x_neon.asm | 61 vqdmulh.s16 q6, q4, d0[2] ; sinpi8sqrt2 62 vqdmulh.s16 q7, q5, d0[2] 63 vqdmulh.s16 q8, q4, d0[0] ; cospi8sqrt2minus1 64 vqdmulh.s16 q9, q5, d0[0] 66 vqadd.s16 q10, q2, q3 ; a1 = 0 + 8 67 vqsub.s16 q11, q2, q3 ; b1 = 0 - 8 77 vshr.s16 q8, q8, #1 78 vshr.s16 q9, q9, #1 82 vqadd.s16 q4, q4, q8 83 vqadd.s16 q5, q5, q9 [all …]
|
D | vp8_subpixelvariance16x16s_neon.asm | 75 vpadal.s16 q8, q4 ;sum 76 vmlal.s16 q9, d8, d8 ;sse 77 vmlal.s16 q10, d9, d9 81 vpadal.s16 q8, q5 82 vmlal.s16 q9, d10, d10 83 vmlal.s16 q10, d11, d11 84 vpadal.s16 q8, q6 85 vmlal.s16 q9, d12, d12 86 vmlal.s16 q10, d13, d13 87 vpadal.s16 q8, q7 [all …]
|
D | variance_neon.asm | 49 vpadal.s16 q8, q11 ;calculate sum 50 vmlal.s16 q9, d22, d22 ;calculate sse 51 vmlal.s16 q10, d23, d23 55 vpadal.s16 q8, q12 56 vmlal.s16 q9, d24, d24 57 vmlal.s16 q10, d25, d25 58 vpadal.s16 q8, q13 59 vmlal.s16 q9, d26, d26 60 vmlal.s16 q10, d27, d27 61 vpadal.s16 q8, q14 [all …]
|
D | iwalsh_neon.asm | 25 vadd.s16 d4, d0, d3 ;a = [0] + [12] 26 vadd.s16 d6, d1, d2 ;b = [4] + [8] 27 vsub.s16 d5, d0, d3 ;d = [0] - [12] 28 vsub.s16 d7, d1, d2 ;c = [4] - [8] 30 vadd.s16 q0, q2, q3 ; a+b d+c 31 vsub.s16 q1, q2, q3 ; a-b d-c 45 vadd.s16 d4, d0, d3 ;a = [0] + [3] 46 vadd.s16 d6, d1, d2 ;b = [1] + [2] 47 vsub.s16 d5, d0, d3 ;d = [0] - [3] 48 vsub.s16 d7, d1, d2 ;c = [1] - [2] [all …]
|
D | sixtappredict8x4_neon.asm | 134 vqadd.s16 q7, q3 ;sum of all (src_data*filter_parameters) 135 vqadd.s16 q8, q4 136 vqadd.s16 q9, q5 137 vqadd.s16 q10, q6 141 vqrshrun.s16 d22, q7, #7 ;shift/round/saturate to u8 142 vqrshrun.s16 d23, q8, #7 143 vqrshrun.s16 d24, q9, #7 144 vqrshrun.s16 d25, q10, #7 222 vqadd.s16 q8, q3 ;sum of all (src_data*filter_parameters) 223 vqadd.s16 q9, q4 [all …]
|
D | sixtappredict8x8_neon.asm | 140 vqadd.s16 q7, q3 ;sum of all (src_data*filter_parameters) 141 vqadd.s16 q8, q4 142 vqadd.s16 q9, q5 143 vqadd.s16 q10, q6 147 vqrshrun.s16 d22, q7, #7 ;shift/round/saturate to u8 148 vqrshrun.s16 d23, q8, #7 149 vqrshrun.s16 d24, q9, #7 150 vqrshrun.s16 d25, q10, #7 235 vqadd.s16 q8, q3 ;sum of all (src_data*filter_parameters) 236 vqadd.s16 q9, q4 [all …]
|
D | buildintrapredictorsmby_neon.asm | 247 vsub.s16 q4, q4, q7 248 vsub.s16 q5, q5, q7 264 vqadd.s16 q8, q0, q4 265 vqadd.s16 q9, q0, q5 267 vqadd.s16 q10, q1, q4 268 vqadd.s16 q11, q1, q5 270 vqadd.s16 q12, q2, q4 271 vqadd.s16 q13, q2, q5 273 vqadd.s16 q14, q3, q4 274 vqadd.s16 q15, q3, q5 [all …]
|
D | sixtappredict16x16_neon.asm | 38 ; the result can be negtive. So, I treat the result as s16. But, since it is also possible 41 ; which ensures that the result stays in s16 range. Finally, saturated add the result by 172 vqadd.s16 q8, q4 ;sum of all (src_data*filter_parameters) 173 vqadd.s16 q10, q5 174 vqadd.s16 q12, q6 182 vqadd.s16 q9, q6 183 vqadd.s16 q11, q7 184 vqadd.s16 q13, q3 186 vqrshrun.s16 d6, q8, #7 ;shift/round/saturate to u8 187 vqrshrun.s16 d7, q9, #7 [all …]
|
D | sixtappredict4x4_neon.asm | 127 vqadd.s16 q7, q9 ;sum of all (src_data*filter_parameters) 128 vqadd.s16 q8, q10 133 vqrshrun.s16 d27, q7, #7 ;shift/round/saturate to u8 134 vqrshrun.s16 d28, q8, #7 205 vqadd.s16 q7, q9 ;sum of all (src_data*filter_parameters) 206 vqadd.s16 q8, q10 207 vqadd.s16 q12, q11 212 vqrshrun.s16 d29, q7, #7 ;shift/round/saturate to u8 213 vqrshrun.s16 d30, q8, #7 214 vqrshrun.s16 d31, q12, #7 [all …]
|
D | vp8_subpixelvariance8x8_neon.asm | 176 vpadal.s16 q8, q4 ;sum 177 vmlal.s16 q9, d8, d8 ;sse 178 vmlal.s16 q10, d9, d9 182 vpadal.s16 q8, q5 183 vmlal.s16 q9, d10, d10 184 vmlal.s16 q10, d11, d11 188 vpadal.s16 q8, q6 189 vmlal.s16 q9, d12, d12 190 vmlal.s16 q10, d13, d13 194 vpadal.s16 q8, q7 [all …]
|