/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/common/arm/neon/ |
D | dequant_idct_neon.c | 24 int16x8_t q1, q2, q3, q4, q5, q6; in vp8_dequant_idct_add_neon() local 35 q4 = vld1q_s16(input); in vp8_dequant_idct_add_neon() 55 q2 = vreinterpretq_s16_u16(vmulq_u16(vreinterpretq_u16_s16(q4), in vp8_dequant_idct_add_neon() 64 q4 = vqdmulhq_n_s16(q2, cospi8sqrt2minus1); in vp8_dequant_idct_add_neon() 67 q4 = vshrq_n_s16(q4, 1); in vp8_dequant_idct_add_neon() 70 q4 = vqaddq_s16(q4, q2); in vp8_dequant_idct_add_neon() 72 d10 = vqsub_s16(vget_low_s16(q3), vget_high_s16(q4)); in vp8_dequant_idct_add_neon() 73 d11 = vqadd_s16(vget_high_s16(q3), vget_low_s16(q4)); in vp8_dequant_idct_add_neon() 91 q4 = vqdmulhq_n_s16(q2, cospi8sqrt2minus1); in vp8_dequant_idct_add_neon() 97 q4 = vshrq_n_s16(q4, 1); in vp8_dequant_idct_add_neon() [all …]
|
D | idct_dequant_full_2x_neon.asm | 28 vld1.16 {q4, q5}, [r0] ; r q 46 vmul.i16 q4, q4, q0 52 ; q4: l4r4 q5: l12r12 61 vqdmulh.s16 q6, q4, d0[2] ; sinpi8sqrt2 63 vqdmulh.s16 q8, q4, d0[0] ; cospi8sqrt2minus1 80 ; q4: 4 + 4 * cospi : d1/temp1 82 vqadd.s16 q4, q4, q8 88 vqadd.s16 q3, q4, q7 94 vqadd.s16 q4, q10, q3 100 vtrn.32 q4, q6 [all …]
|
D | sixtappredict4x4_neon.asm | 62 vld1.u8 {q4}, [r0], r1 88 vmov q4, q3 ;keep original src data in q4 q6 93 vshr.u64 q9, q4, #8 ;construct src_ptr[-1] 100 vshr.u64 q3, q4, #32 ;construct src_ptr[2] 107 vshr.u64 q9, q4, #16 ;construct src_ptr[0] 114 vshr.u64 q3, q4, #24 ;construct src_ptr[1] 125 vld1.u8 {q4}, [r0], r1 154 vmov q4, q3 ;keep original src data in q4 q6 159 vshr.u64 q9, q4, #8 ;construct src_ptr[-1] 168 vshr.u64 q3, q4, #32 ;construct src_ptr[2] [all …]
|
D | mbloopfilter_neon.asm | 38 vld1.u8 {q4}, [r12@128], r1 ; p2 51 vst1.u8 {q4}, [r12@128],r1 ; store op2 157 vtrn.32 q4, q8 162 vtrn.16 q4, q6 166 vtrn.8 q3, q4 179 vtrn.32 q4, q8 184 vtrn.16 q4, q6 188 vtrn.8 q3, q4 252 vtrn.32 q4, q8 257 vtrn.16 q4, q6 [all …]
|
D | vp8_subpixelvariance16x16s_neon.asm | 57 vext.8 q5, q4, q5, #1 63 vrhadd.u8 q2, q4, q5 66 vsubl.u8 q4, d0, d22 ;diff 75 vpadal.s16 q8, q4 ;sum 147 vld1.u8 {q4}, [r0], r1 155 vrhadd.u8 q2, q2, q4 156 vrhadd.u8 q4, q4, q6 255 vext.8 q5, q4, q5, #1 260 vrhadd.u8 q2, q4, q5 262 vrhadd.u8 q4, q8, q9 [all …]
|
D | sixtappredict8x4_neon.asm | 69 vld1.u8 {q4}, [r0], r1 130 vmull.u8 q4, d29, d3 135 vqadd.s16 q8, q4 146 vld1.u8 {q4}, [r0], r1 217 vmull.u8 q4, d28, d3 223 vqadd.s16 q9, q4 255 vmull.u8 q4, d23, d0 260 vmlsl.u8 q4, d24, d1 265 vmlsl.u8 q4, d27, d4 270 vmlal.u8 q4, d25, d2 [all …]
|
D | sixtappredict8x8_neon.asm | 72 vld1.u8 {q4}, [r0], r1 134 vmull.u8 q4, d29, d3 141 vqadd.s16 q8, q4 153 vld1.u8 {q4}, [r0], r1 164 ;vld1.u8 {q4}, [r0], r1 230 vmull.u8 q4, d28, d3 236 vqadd.s16 q9, q4 273 vmull.u8 q4, d19, d0 278 vmlsl.u8 q4, d20, d1 283 vmlsl.u8 q4, d23, d4 [all …]
|
D | loopfilter_neon.asm | 37 vld1.u8 {q4}, [r12@128], r1 ; p2 150 vtrn.32 q4, q8 157 vtrn.16 q4, q6 161 vtrn.8 q3, q4 240 vtrn.32 q4, q8 247 vtrn.16 q4, q6 251 vtrn.8 q3, q4 296 ; q4 p2 306 vabd.u8 q11, q3, q4 ; abs(p3 - p2) 307 vabd.u8 q12, q4, q5 ; abs(p2 - p1) [all …]
|
D | sad16_neon.asm | 28 vld1.8 {q4}, [r2], r3 50 vld1.8 {q4}, [r2], r3 75 vld1.8 {q4}, [r2], r3 100 vld1.8 {q4}, [r2], r3 147 vld1.8 {q4}, [r2], r3 168 vld1.8 {q4}, [r2], r3
|
D | buildintrapredictorsmby_neon.asm | 62 vpaddl.u32 q4, q3 244 vmull.u8 q4, d16, d0 247 vsub.s16 q4, q4, q7 264 vqadd.s16 q8, q0, q4 267 vqadd.s16 q10, q1, q4 270 vqadd.s16 q12, q2, q4 273 vqadd.s16 q14, q3, q4 345 vpaddl.u32 q4, q3 527 vmull.u8 q4, d16, d0 530 vsub.s16 q4, q4, q7 [all …]
|
D | loopfiltersimplehorizontaledge_neon.asm | 52 vqsub.s8 q4, q5, q8 ; q4: vp8_filter = vp8_signed_char_clamp(ps1-qs1) 66 vand q14, q4, q15 ; vp8_filter &= mask 71 vshr.s8 q4, q3, #3 ; Filter1 >>= 3 77 vqsub.s8 q10, q7, q4 ; u = vp8_signed_char_clamp(qs0 - Filter1)
|
D | sixtappredict16x16_neon.asm | 168 vmull.u8 q4, d28, d3 ;(src_ptr[1] * vp8_filter[3]) 172 vqadd.s16 q8, q4 ;sum of all (src_data*filter_parameters) 233 vmull.u8 q4, d19, d0 238 vmlsl.u8 q4, d20, d1 243 vmlsl.u8 q4, d23, d4 248 vmlal.u8 q4, d21, d2 253 vmlal.u8 q4, d24, d5 265 vqadd.s16 q8, q4 383 vst1.u8 {q4}, [r4], r5 423 vmull.u8 q4, d19, d0 [all …]
|
D | vp8_subpixelvariance8x8_neon.asm | 47 vld1.u8 {q4}, [r0], r1 70 vld1.u8 {q4}, [r0], r1 116 vmull.u8 q4, d25, d0 125 vmlal.u8 q4, d26, d1 134 vqrshrn.u16 d25, q4, #7 170 vsubl.u8 q4, d22, d0 ;calculate diff 176 vpadal.s16 q8, q4 ;sum
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp9/common/arm/neon/ |
D | vp9_idct32x32_add_neon.asm | 171 ; q4-q7 contain the results (out[j * 32 + 0-31]) 183 vrshr.s16 q4, q4, #6 188 vaddw.u8 q4, q4, d4 193 vqmovun.s16 d4, q4 205 ; q4-q7 contain the results (out[j * 32 + 0-31]) 217 vrshr.s16 q4, q4, #6 222 vaddw.u8 q4, q4, d4 227 vqmovun.s16 d4, q4 373 vld1.s16 {q4}, [r3]! 399 vtrn.32 q4, q6 [all …]
|
D | vp9_idct16x16_add_neon.asm | 206 vsub.s16 q13, q4, q5 ; step2[5] = step1[4] - step1[5]; 207 vadd.s16 q4, q4, q5 ; step2[4] = step1[4] + step1[5]; 251 vadd.s16 q11, q3, q4 ; step2[3] = step1[3] + step1[4]; 252 vsub.s16 q12, q3, q4 ; step2[4] = step1[3] - step1[4]; 340 vmull.s16 q4, d17, d13 348 vmlal.s16 q4, d31, d12 359 vqrshrn.s32 d15, q4, #14 ; >> 14 375 vmull.s16 q4, d24, d31 383 vmlal.s16 q4, d22, d30 394 vqrshrn.s32 d12, q4, #14 ; >> 14 [all …]
|
D | vp9_loopfilter_16_neon.asm | 58 vld1.u8 {q4}, [r3@64], r1 ; p2 91 ; q4 p2 107 vabd.u8 q11, q3, q4 ; m1 = abs(p3 - p2) 108 vabd.u8 q12, q4, q5 ; m2 = abs(p2 - p1) 112 vabd.u8 q4, q10, q9 ; m6 = abs(q3 - q2) 120 vmax.u8 q3, q3, q4 ; m9 = max(m5, m6) 145 vmov.u16 q4, #3 155 vmul.i16 q2, q2, q4 ; 3 * ( qs0 - ps0) 156 vmul.i16 q11, q11, q4 161 vmov.u8 q4, #3 [all …]
|
D | vp9_iht8x8_add_neon.asm | 241 vsub.s16 q13, q4, q5 ; step2[5] = step1[4] - step1[5] 242 vadd.s16 q4, q4, q5 ; step2[4] = step1[4] + step1[5] 274 vadd.s16 q11, q3, q4 ; output[3] = step1[3] + step1[4]; 275 vsub.s16 q12, q3, q4 ; output[4] = step1[3] - step1[4]; 296 vmull.s16 q4, d31, d15 307 vmlsl.s16 q4, d17, d14 342 vadd.s32 q15, q4, q8 346 vsub.s32 q4, q4, q8 358 vqrshrn.s32 d7, q4, #14 ; >> 14 361 vmull.s16 q4, d26, d0 [all …]
|
D | vp9_mb_lpf_neon.asm | 52 vld1.u8 {d12}, [r8@64], r1 ; q4 161 vtrn.32 q4, q6 166 vtrn.16 q4, q5 304 ; d12 q4 365 ; flatmask5(1, p7, p6, p5, p4, p0, q0, q4, q5, q6, q7) 367 vabd.u8 d23, d12, d8 ; abs(q4 - q0) 376 vmax.u8 d22, d22, d23 ; max(abs(p4 - p0), abs(q4 - q0)) 533 vaddw.u8 q15, d12 ; op2 += q4 561 vaddl.u8 q4, d10, d15 568 vadd.i16 q15, q4 [all …]
|
D | vp9_idct8x8_add_neon.asm | 143 vsub.s16 q13, q4, q5 ; step2[5] = step1[4] - step1[5] 144 vadd.s16 q4, q4, q5 ; step2[4] = step1[4] + step1[5] 176 vadd.s16 q11, q3, q4 ; output[3] = step1[3] + step1[4]; 177 vsub.s16 q12, q3, q4 ; output[4] = step1[3] - step1[4]; 370 vqrdmulh.s16 q4, q9, q0 416 vsub.s16 q13, q4, q5 ; step2[5] = step1[4] - step1[5] 417 vadd.s16 q4, q4, q5 ; step2[4] = step1[4] + step1[5] 449 vadd.s16 q11, q3, q4 ; output[3] = step1[3] + step1[4]; 450 vsub.s16 q12, q3, q4 ; output[4] = step1[3] - step1[4];
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp8/encoder/arm/neon/ |
D | fastquantizeb_neon.asm | 27 vstmdb sp!, {q4-q7} 37 vabs.s16 q4, q0 ; calculate x = abs(z) 49 vadd.s16 q4, q6 ; x + Round 54 vqdmulh.s16 q4, q8 ; y = ((Round+abs(z)) * Quant) >> 16 63 veor.s16 q4, q2 ; y^sz 74 vshr.s16 q4, #1 ; right shift 1 after vqdmulh 79 vsub.s16 q4, q2 ; x1=(y^sz)-sz = (y^sz)-(-1) (2's complement) 98 vmul.s16 q2, q6, q4 ; x * Dequant 112 vtst.16 q14, q4, q8 ; now find eob 149 vldmia sp!, {q4-q7}
|
D | vp8_memcpy_neon.asm | 36 vld1.8 {q4, q5}, [r1]! 39 vst1.8 {q4, q5}, [r0]!
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp9/common/ |
D | vp9_loopfilter_filters.c | 57 uint8_t q3, uint8_t q4) { in flat_mask5() argument 60 mask |= (abs(q4 - q0) > thresh) * -1; in flat_mask5() 246 q4 = *oq4, q5 = *oq5, q6 = *oq6, q7 = *oq7; in filter16() local 258 q0 + q1 + q2 + q3 + q4, 4); in filter16() 260 q0 + q1 + q2 + q3 + q4 + q5, 4); in filter16() 262 q0 + q1 + q2 + q3 + q4 + q5 + q6, 4); in filter16() 264 q0 * 2 + q1 + q2 + q3 + q4 + q5 + q6 + q7, 4); in filter16() 266 q0 + q1 * 2 + q2 + q3 + q4 + q5 + q6 + q7 * 2, 4); in filter16() 268 q0 + q1 + q2 * 2 + q3 + q4 + q5 + q6 + q7 * 3, 4); in filter16() 270 q0 + q1 + q2 + q3 * 2 + q4 + q5 + q6 + q7 * 4, 4); in filter16() [all …]
|
/hardware/intel/common/omx-components/videocodec/libvpx_internal/libvpx/vp9/common/mips/dspr2/ |
D | vp9_loopfilter_macros_dspr2.h | 383 [q4] "r" (q4), [q5] "r" (q5), [q6] "r" (q6), [q7] "r" (q7) \ 423 [q4] "r" (q4), [q5] "r" (q5), [q6] "r" (q6), [q7] "r" (q7) \ 460 [q3] "=&r" (q3),[q4] "=&r" (q4), \
|
D | vp9_loopfilter_masks_dspr2.h | 286 uint32_t q3, uint32_t q4, in vp9_flatmask5() argument 362 [q2] "r" (q2), [q3] "r" (q3), [q4] "r" (q4), in vp9_flatmask5()
|
D | vp9_loopfilter_filters_dspr2.h | 537 const uint32_t q4 = *oq4, q5 = *oq5, q6 = *oq6, q7 = *oq7; in vp9_wide_mbfilter_dspr2() local 566 [q4] "r" (q4), [q5] "r" (q5), [q6] "r" (q6), in vp9_wide_mbfilter_dspr2() 652 [q3] "r" (q3), [q4] "r" (q4), [q5] "r" (q5), [q6] "r" (q6), in vp9_wide_mbfilter_dspr2() 743 : [q7] "r" (q7), [q6] "r" (q6), [q5] "r" (q5), [q4] "r" (q4), in vp9_wide_mbfilter_dspr2()
|