/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/encoder/arm/neon/ |
D | vp8_shortwalsh4x4_neon.asm | 27 vld1.16 {d2}, [r0@64], r2 31 ;transpose d0, d1, d2, d3. Then, d0=ip[0], d1=ip[1], d2=ip[2], d3=ip[3] 32 vtrn.32 d0, d2 38 vtrn.16 d2, d3 40 vadd.s16 d4, d0, d2 ; ip[0] + ip[2] 43 vsub.s16 d7, d0, d2 ; ip[0] - ip[2] 55 vsub.s16 d2, d7, d6 ; op[2] = b1 - c1 59 ;transpose d0, d1, d2, d3, Then, d0=ip[0], d1=ip[4], d2=ip[8], d3=ip[12] 61 vtrn.32 d0, d2 62 vtrn.16 d2, d3 [all …]
|
D | shortfdct_neon.asm | 39 vld1.16 {d2}, [r0@64], r2 43 ; transpose d0=ip[0], d1=ip[1], d2=ip[2], d3=ip[3] 44 vtrn.32 d0, d2 48 vtrn.16 d2, d3 51 vadd.s16 d5, d1, d2 ; b1 = ip[1] + ip[2] 52 vsub.s16 d6, d1, d2 ; c1 = ip[1] - ip[2] 59 vsub.s16 d2, d4, d5 ; op[2] = a1 - b1 72 ; transpose d0=ip[0], d1=ip[4], d2=ip[8], d3=ip[12] 73 vtrn.32 d0, d2 76 vtrn.16 d2, d3 [all …]
|
D | vp8_mse16x16_neon.asm | 45 vsubl.u8 q13, d2, d6 69 vadd.u64 d0, d2, d3 89 vld1.8 {d2}, [r0], r1 96 vsubl.u8 q13, d2, d6 109 vadd.u64 d0, d2, d3
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp9/common/arm/neon/ |
D | vp9_idct16x16_1_add_neon.asm | 52 vld1.64 {d2}, [r1], r0 61 vaddw.u8 q9, q0, d2 ; dest[x] + a1 65 vqmovun.s16 d2, q9 ; clip_pixel 69 vst1.64 {d2}, [r12], r0 78 vqmovun.s16 d2, q9 ; clip_pixel 82 vst1.64 {d2}, [r12], r0 88 vld1.64 {d2}, [r1], r0 97 vaddw.u8 q9, q0, d2 ; dest[x] + a1 101 vqmovun.s16 d2, q9 ; clip_pixel 105 vst1.64 {d2}, [r12], r0 [all …]
|
D | vp9_reconintra_neon.asm | 189 vdup.8 q0, d2[0] 191 vdup.8 q0, d2[1] 193 vdup.8 q0, d2[2] 195 vdup.8 q0, d2[3] 197 vdup.8 q0, d2[4] 199 vdup.8 q0, d2[5] 201 vdup.8 q0, d2[6] 203 vdup.8 q0, d2[7] 237 vdup.8 q0, d2[0] 240 vdup.8 q0, d2[1] [all …]
|
D | vp9_dc_only_idct_add_neon.asm | 50 vld1.32 {d2[0]}, [r1], r3 51 vld1.32 {d2[1]}, [r1], r3 55 vaddw.u8 q1, q0, d2 ; a1 + pred_ptr[c] 58 vqmovun.s16 d2, q1 ; clip_pixel 61 vst1.32 {d2[0]}, [r2], r12 62 vst1.32 {d2[1]}, [r2], r12
|
D | vp9_idct8x8_1_add_neon.asm | 50 vld1.64 {d2}, [r1], r2 59 vaddw.u8 q9, q0, d2 ; dest[x] + a1 63 vqmovun.s16 d2, q9 ; clip_pixel 67 vst1.64 {d2}, [r12], r2 76 vqmovun.s16 d2, q9 ; clip_pixel 80 vst1.64 {d2}, [r12], r2
|
D | vp9_convolve8_neon.asm | 137 vqrshrun.s32 d2, q1, #7 143 vqmovn.u16 d2, q1 147 vtrn.16 d2, d3 148 vtrn.32 d2, d3 149 vtrn.8 d2, d3 151 vst1.u32 {d2[0]}, [r2@32], r3 153 vst1.u32 {d2[1]}, [r2@32], r3 248 vqrshrun.s32 d2, q1, #7 254 vqmovn.u16 d2, q1 257 vst1.u32 {d2[0]}, [r5@32], r3 [all …]
|
D | vp9_convolve8_avg_neon.asm | 145 vqrshrun.s32 d2, q1, #7 151 vqmovn.u16 d2, q1 155 vtrn.16 d2, d3 156 vtrn.32 d2, d3 157 vtrn.8 d2, d3 162 vst1.u32 {d2[0]}, [r2@32], r3 164 vst1.u32 {d2[1]}, [r2@32], r3 264 vqrshrun.s32 d2, q1, #7 270 vqmovn.u16 d2, q1 279 vst1.u32 {d2[0]}, [r5@32], r3 [all …]
|
D | vp9_loopfilter_neon.asm | 49 vld1.8 {d2[]}, [r2] ; duplicate *thresh 112 vld1.8 {d2[]}, [r3] ; duplicate *thresh 172 ; d2 thresh 209 vcgt.u8 d21, d21, d2 ; (abs(p1 - p0) > thresh)*-1 210 vcgt.u8 d22, d22, d2 ; (abs(q1 - q0) > thresh)*-1 302 vld1.8 {d2[]}, [r2] ; duplicate *thresh 324 vst1.u8 {d2}, [r2@64], r1 ; store op0 363 vld1.8 {d2[]}, [r3] ; duplicate *thresh 397 vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r2], r1 398 vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r2], r1 [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/common/arm/neon/ |
D | iwalsh_neon.asm | 26 vadd.s16 d6, d1, d2 ;b = [4] + [8] 28 vsub.s16 d7, d1, d2 ;c = [4] - [8] 33 vtrn.32 d0, d2 ;d0: 0 1 8 9 34 ;d2: 2 3 10 11 40 vtrn.16 d2, d3 ;d2: 2 6 10 14 46 vadd.s16 d6, d1, d2 ;b = [1] + [2] 48 vsub.s16 d7, d1, d2 ;c = [1] - [2] 66 vst1.i16 d2[0], [r1],r2 71 vst1.i16 d2[1], [r1],r2 76 vst1.i16 d2[2], [r1],r2 [all …]
|
D | sad8_neon.asm | 31 vld1.8 {d2}, [r0], r1 39 vabal.u8 q12, d2, d10 51 vld1.8 {d2}, [r0], r1 59 vabal.u8 q12, d2, d10 88 vld1.8 {d2}, [r0], r1 96 vabal.u8 q12, d2, d10 108 vld1.8 {d2}, [r0], r1 116 vabal.u8 q12, d2, d10 128 vld1.8 {d2}, [r0], r1 136 vabal.u8 q12, d2, d10 [all …]
|
D | idct_dequant_0_2x_neon.asm | 27 vld1.32 {d2[0]}, [r2], r3 29 vld1.32 {d2[1]}, [r2], r3 53 vaddw.u8 q1, q0, d2 ; lo 61 vqmovun.s16 d2, q1 ; lo 66 vst1.32 {d2[0]}, [r2], r3 ; lo 68 vst1.32 {d2[1]}, [r2], r3
|
D | dequant_idct_neon.c | 23 int16x4_t d2, d3, d4, d5, d10, d11, d12, d13; in vp8_dequant_idct_add_neon() local 75 d2 = vqadd_s16(d12, d11); in vp8_dequant_idct_add_neon() 80 d2tmp0 = vtrn_s32(vreinterpret_s32_s16(d2), vreinterpret_s32_s16(d4)); in vp8_dequant_idct_add_neon() 105 d2 = vqadd_s16(d12, d11); in vp8_dequant_idct_add_neon() 110 d2 = vrshr_n_s16(d2, 3); in vp8_dequant_idct_add_neon() 115 d2tmp0 = vtrn_s32(vreinterpret_s32_s16(d2), vreinterpret_s32_s16(d4)); in vp8_dequant_idct_add_neon()
|
D | sixtappredict8x4_neon.asm | 64 vdup.8 d2, d25[0] 109 vmlal.u8 q7, d28, d2 ;(src_ptr[0] * vp8_filter[2]) 110 vmlal.u8 q8, d29, d2 111 vmlal.u8 q9, d30, d2 112 vmlal.u8 q10, d31, d2 192 vmlal.u8 q8, d27, d2 ;(src_ptr[0] * vp8_filter[2]) 193 vmlal.u8 q9, d28, d2 194 vmlal.u8 q10, d29, d2 195 vmlal.u8 q11, d30, d2 196 vmlal.u8 q12, d31, d2 [all …]
|
D | vp8_subpixelvariance16x16_neon.asm | 52 vld1.u8 {d2, d3, d4}, [r0], r1 ;load src data 70 vmull.u8 q7, d2, d0 ;(src_ptr[0] * Filter[0]) 79 vext.8 d2, d2, d3, #1 ;construct src_ptr[1] 84 vmlal.u8 q7, d2, d1 ;(src_ptr[0] * Filter[1]) 109 vld1.u8 {d2, d3, d4}, [r0], r1 ;load src data 123 vmull.u8 q9, d2, d0 ;(src_ptr[0] * Filter[0]) 130 vext.8 d2, d2, d3, #1 ;construct src_ptr[1] 134 vmlal.u8 q9, d2, d1 ;(src_ptr[0] * Filter[1]) 220 vqrshrn.u16 d2, q1, #7 ;shift/round/saturate to u8 229 vst1.u8 {d2, d3}, [r3]! ;store result [all …]
|
D | sixtappredict8x8_neon.asm | 67 vdup.8 d2, d25[0] 113 vmlal.u8 q7, d28, d2 ;(src_ptr[0] * vp8_filter[2]) 114 vmlal.u8 q8, d29, d2 115 vmlal.u8 q9, d30, d2 116 vmlal.u8 q10, d31, d2 205 vmlal.u8 q8, d27, d2 ;(src_ptr[0] * vp8_filter[2]) 206 vmlal.u8 q9, d28, d2 207 vmlal.u8 q10, d29, d2 208 vmlal.u8 q11, d30, d2 209 vmlal.u8 q12, d31, d2 [all …]
|
D | sixtappredict16x16_neon.asm | 74 vdup.8 d2, d25[0] 148 vmlal.u8 q8, d28, d2 ;(src_ptr[0] * vp8_filter[2]) 149 vmlal.u8 q10, d29, d2 150 vmlal.u8 q12, d30, d2 156 vmlal.u8 q9, d28, d2 ;(src_ptr[0] * vp8_filter[2]) 157 vmlal.u8 q11, d29, d2 158 vmlal.u8 q13, d30, d2 213 vdup.8 d2, d15[0] 247 vmlal.u8 q3, d20, d2 ;(src_ptr[0] * vp8_filter[2]) 248 vmlal.u8 q4, d21, d2 [all …]
|
D | vp8_subpixelvariance16x16s_neon.asm | 43 vld1.u8 {d0, d1, d2, d3}, [r0], r1 ;load src data 68 vsubl.u8 q6, d2, d24 95 vmlal.s16 q9, d2, d2 111 vadd.u64 d1, d2, d3 159 vsubl.u8 q11, d0, d2 ;diff 188 vmlal.s16 q9, d2, d2 207 vadd.u64 d1, d2, d3 231 vld1.u8 {d0, d1, d2, d3}, [r0], r1 ;load src data 275 vsubl.u8 q11, d2, d12 306 vmlal.s16 q14, d2, d2 ;sse [all …]
|
D | variance_neon.asm | 43 vsubl.u8 q13, d2, d6 74 vadd.u64 d1, d2, d3 116 vsubl.u8 q13, d2, d6 144 vadd.u64 d1, d2, d3 174 vld1.8 {d2}, [r0], r1 178 vsubl.u8 q12, d2, d6 199 vadd.u64 d1, d2, d3 229 vld1.8 {d2}, [r0], r1 236 vsubl.u8 q13, d2, d6 264 vadd.u64 d1, d2, d3
|
D | sixtappredict4x4_neon.asm | 65 vdup.8 d2, d25[0] 116 vmlal.u8 q7, d18, d2 ;(src_ptr[0] * vp8_filter[2]) 117 vmlal.u8 q8, d20, d2 192 vmlal.u8 q7, d18, d2 ;(src_ptr[0] * vp8_filter[2]) 193 vmlal.u8 q8, d20, d2 194 vmlal.u8 q12, d31, d2 ;(src_ptr[0] * vp8_filter[2]) 226 vdup.8 d2, d15[0] 243 vmlal.u8 q3, d28, d2 ;(src_ptr[0] * vp8_filter[2]) 244 vmlal.u8 q4, d29, d2 280 vdup.8 d2, d25[0] [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/common/mips/dspr2/ |
D | idctllm_dspr2.c | 54 int c2, d2; in vp8_short_idct4x4llm_dspr2() local 79 d2 = temp3 + temp4; in vp8_short_idct4x4llm_dspr2() 89 op[1] = a1 + d2; in vp8_short_idct4x4llm_dspr2() 90 op[13] = a1 - d2; in vp8_short_idct4x4llm_dspr2() 111 d2 = temp3 + temp4; in vp8_short_idct4x4llm_dspr2() 121 op[3] = a1 + d2; in vp8_short_idct4x4llm_dspr2() 122 op[15] = a1 - d2; in vp8_short_idct4x4llm_dspr2() 149 d2 = temp3 + temp4; in vp8_short_idct4x4llm_dspr2() 159 op[4] = (a1 + d2 + 4) >> 3; in vp8_short_idct4x4llm_dspr2() 160 op[7] = (a1 - d2 + 4) >> 3; in vp8_short_idct4x4llm_dspr2() [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/encoder/arm/armv6/ |
D | vp8_subtract_armv6.asm | 52 usub16 r4, r4, r5 ; [d2 | d0] 58 pkhtb r1, r5, r4, asr #16 ; [d3 | d2] 98 usub16 r6, r8, r9 ; [d2 | d0] (A) 105 pkhtb r9, r7, r6, asr #16 ; [d3 | d2] (A) 115 usub16 r6, r8, r9 ; [d2 | d0] (B) 122 pkhtb r9, r7, r6, asr #16 ; [d3 | d2] (B) 143 usub16 r6, r8, r9 ; [d2 | d0] (A) 150 pkhtb r9, r7, r6, asr #16 ; [d3 | d2] (A) 160 usub16 r6, r8, r9 ; [d2 | d0] (B) 167 pkhtb r9, r7, r6, asr #16 ; [d3 | d2] (B) [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/encoder/ |
D | dct.c | 68 int a2, b2, c2, d2; in vp8_short_walsh4x4_c() local 101 d2 = a1 - d1; in vp8_short_walsh4x4_c() 106 d2 += d2<0; in vp8_short_walsh4x4_c() 111 op[12]= (d2+3) >> 3; in vp8_short_walsh4x4_c()
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/common/arm/armv6/ |
D | iwalsh_v6.asm | 61 qaddsubx r3, r11, r10 ; [a2|d2] [b1+a1 | d1-c1] 64 qaddsubx r5, lr, r12 ; [a2|d2] [b1+a1 | d1-c1] 67 qadd16 r3, r3, r10 ; [a2+3|d2+3] 69 qadd16 r5, r5, r10 ; [a2+3|d2+3] 99 qaddsubx r7, r3, r2 ; [a2|d2] [b1+a1 | d1-c1] 101 qaddsubx r9, r5, r4 ; [a2|d2] [b1+a1 | d1-c1] 104 qadd16 r7, r7, r10 ; [a2+3|d2+3] 106 qadd16 r9, r9, r10 ; [a2+3|d2+3]
|