/external/libaom/libaom/av1/encoder/ |
D | hybrid_fwd_txfm.c | 80 static void highbd_fwd_txfm_4x4(const int16_t *src_diff, tran_low_t *coeff, in highbd_fwd_txfm_4x4() argument 87 av1_highbd_fwht4x4(src_diff, coeff, diff_stride); in highbd_fwd_txfm_4x4() 90 av1_fwd_txfm2d_4x4(src_diff, dst_coeff, diff_stride, tx_type, bd); in highbd_fwd_txfm_4x4() 93 static void highbd_fwd_txfm_4x8(const int16_t *src_diff, tran_low_t *coeff, in highbd_fwd_txfm_4x8() argument 96 av1_fwd_txfm2d_4x8(src_diff, dst_coeff, diff_stride, txfm_param->tx_type, in highbd_fwd_txfm_4x8() 100 static void highbd_fwd_txfm_8x4(const int16_t *src_diff, tran_low_t *coeff, in highbd_fwd_txfm_8x4() argument 103 av1_fwd_txfm2d_8x4(src_diff, dst_coeff, diff_stride, txfm_param->tx_type, in highbd_fwd_txfm_8x4() 107 static void highbd_fwd_txfm_8x16(const int16_t *src_diff, tran_low_t *coeff, in highbd_fwd_txfm_8x16() argument 112 av1_fwd_txfm2d_8x16(src_diff, dst_coeff, diff_stride, tx_type, bd); in highbd_fwd_txfm_8x16() 115 static void highbd_fwd_txfm_16x8(const int16_t *src_diff, tran_low_t *coeff, in highbd_fwd_txfm_16x8() argument [all …]
|
D | tpl_model.c | 52 static void wht_fwd_txfm(int16_t *src_diff, int bw, tran_low_t *coeff, in wht_fwd_txfm() argument 55 case TX_8X8: aom_hadamard_8x8(src_diff, bw, coeff); break; in wht_fwd_txfm() 56 case TX_16X16: aom_hadamard_16x16(src_diff, bw, coeff); break; in wht_fwd_txfm() 57 case TX_32X32: aom_hadamard_32x32(src_diff, bw, coeff); break; in wht_fwd_txfm() 118 int frame_idx, int16_t *src_diff, tran_low_t *coeff, in mode_estimation() argument 171 aom_highbd_subtract_block(bh, bw, src_diff, bw, src, src_stride, dst, in mode_estimation() 174 aom_subtract_block(bh, bw, src_diff, bw, src, src_stride, dst, in mode_estimation() 178 wht_fwd_txfm(src_diff, bw, coeff, tx_size); in mode_estimation() 214 bh, bw, src_diff, bw, xd->cur_buf->y_buffer + mb_y_offset, in mode_estimation() 217 aom_subtract_block(bh, bw, src_diff, bw, in mode_estimation() [all …]
|
D | hybrid_fwd_txfm.h | 21 void av1_fwd_txfm(const int16_t *src_diff, tran_low_t *coeff, int diff_stride, 24 void av1_highbd_fwd_txfm(const int16_t *src_diff, tran_low_t *coeff,
|
D | encodemb.c | 80 int16_t *src_diff = in av1_subtract_txb() local 81 &p->src_diff[(blk_row * diff_stride + blk_col) << tx_size_wide_log2[0]]; in av1_subtract_txb() 82 subtract_block(xd, tx1d_height, tx1d_width, src_diff, diff_stride, src, in av1_subtract_txb() 95 subtract_block(xd, bh, bw, p->src_diff, bw, p->src.buf, p->src.stride, in av1_subtract_plane() 159 const int16_t *src_diff = &p->src_diff[src_offset << tx_size_wide_log2[0]]; in av1_xform_quant() local 176 av1_fwd_txfm(src_diff, coeff, diff_stride, &txfm_param); in av1_xform_quant()
|
/external/libvpx/libvpx/vpx_dsp/ |
D | avg.c | 38 static void hadamard_highbd_col8_first_pass(const int16_t *src_diff, in hadamard_highbd_col8_first_pass() argument 41 int16_t b0 = src_diff[0 * src_stride] + src_diff[1 * src_stride]; in hadamard_highbd_col8_first_pass() 42 int16_t b1 = src_diff[0 * src_stride] - src_diff[1 * src_stride]; in hadamard_highbd_col8_first_pass() 43 int16_t b2 = src_diff[2 * src_stride] + src_diff[3 * src_stride]; in hadamard_highbd_col8_first_pass() 44 int16_t b3 = src_diff[2 * src_stride] - src_diff[3 * src_stride]; in hadamard_highbd_col8_first_pass() 45 int16_t b4 = src_diff[4 * src_stride] + src_diff[5 * src_stride]; in hadamard_highbd_col8_first_pass() 46 int16_t b5 = src_diff[4 * src_stride] - src_diff[5 * src_stride]; in hadamard_highbd_col8_first_pass() 47 int16_t b6 = src_diff[6 * src_stride] + src_diff[7 * src_stride]; in hadamard_highbd_col8_first_pass() 48 int16_t b7 = src_diff[6 * src_stride] - src_diff[7 * src_stride]; in hadamard_highbd_col8_first_pass() 71 static void hadamard_highbd_col8_second_pass(const int16_t *src_diff, in hadamard_highbd_col8_second_pass() argument [all …]
|
D | vpx_dsp_rtcd_defs.pl | 779 …add_proto qw/void vpx_hadamard_8x8/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *c… 782 …add_proto qw/void vpx_hadamard_16x16/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t … 785 …add_proto qw/void vpx_hadamard_32x32/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t … 788 …add_proto qw/void vpx_highbd_hadamard_8x8/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_l… 791 …add_proto qw/void vpx_highbd_hadamard_16x16/, "const int16_t *src_diff, ptrdiff_t src_stride, tran… 794 …add_proto qw/void vpx_highbd_hadamard_32x32/, "const int16_t *src_diff, ptrdiff_t src_stride, tran… 803 …add_proto qw/void vpx_hadamard_8x8/, "const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coef… 806 …add_proto qw/void vpx_hadamard_16x16/, "const int16_t *src_diff, ptrdiff_t src_stride, int16_t *co… 809 …add_proto qw/void vpx_hadamard_32x32/, "const int16_t *src_diff, ptrdiff_t src_stride, int16_t *co…
|
/external/libaom/libaom/aom_dsp/ |
D | avg.c | 53 static void hadamard_col8(const int16_t *src_diff, ptrdiff_t src_stride, in hadamard_col8() argument 55 int16_t b0 = src_diff[0 * src_stride] + src_diff[1 * src_stride]; in hadamard_col8() 56 int16_t b1 = src_diff[0 * src_stride] - src_diff[1 * src_stride]; in hadamard_col8() 57 int16_t b2 = src_diff[2 * src_stride] + src_diff[3 * src_stride]; in hadamard_col8() 58 int16_t b3 = src_diff[2 * src_stride] - src_diff[3 * src_stride]; in hadamard_col8() 59 int16_t b4 = src_diff[4 * src_stride] + src_diff[5 * src_stride]; in hadamard_col8() 60 int16_t b5 = src_diff[4 * src_stride] - src_diff[5 * src_stride]; in hadamard_col8() 61 int16_t b6 = src_diff[6 * src_stride] + src_diff[7 * src_stride]; in hadamard_col8() 62 int16_t b7 = src_diff[6 * src_stride] - src_diff[7 * src_stride]; in hadamard_col8() 85 void aom_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, in aom_hadamard_8x8_c() argument [all …]
|
D | aom_dsp_rtcd_defs.pl | 871 …add_proto qw/void aom_hadamard_8x8/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *c… 874 …add_proto qw/void aom_hadamard_16x16/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t … 877 …add_proto qw/void aom_hadamard_32x32/, "const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t …
|
/external/libvpx/libvpx/vpx_dsp/ppc/ |
D | hadamard_vsx.c | 45 void vpx_hadamard_8x8_vsx(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_hadamard_8x8_vsx() argument 49 v[0] = vec_vsx_ld(0, src_diff); in vpx_hadamard_8x8_vsx() 50 v[1] = vec_vsx_ld(0, src_diff + src_stride); in vpx_hadamard_8x8_vsx() 51 v[2] = vec_vsx_ld(0, src_diff + (2 * src_stride)); in vpx_hadamard_8x8_vsx() 52 v[3] = vec_vsx_ld(0, src_diff + (3 * src_stride)); in vpx_hadamard_8x8_vsx() 53 v[4] = vec_vsx_ld(0, src_diff + (4 * src_stride)); in vpx_hadamard_8x8_vsx() 54 v[5] = vec_vsx_ld(0, src_diff + (5 * src_stride)); in vpx_hadamard_8x8_vsx() 55 v[6] = vec_vsx_ld(0, src_diff + (6 * src_stride)); in vpx_hadamard_8x8_vsx() 56 v[7] = vec_vsx_ld(0, src_diff + (7 * src_stride)); in vpx_hadamard_8x8_vsx() 74 void vpx_hadamard_16x16_vsx(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_hadamard_16x16_vsx() argument [all …]
|
/external/libvpx/libvpx/vpx_dsp/arm/ |
D | hadamard_neon.c | 50 void vpx_hadamard_8x8_neon(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_hadamard_8x8_neon() argument 52 int16x8_t a0 = vld1q_s16(src_diff); in vpx_hadamard_8x8_neon() 53 int16x8_t a1 = vld1q_s16(src_diff + src_stride); in vpx_hadamard_8x8_neon() 54 int16x8_t a2 = vld1q_s16(src_diff + 2 * src_stride); in vpx_hadamard_8x8_neon() 55 int16x8_t a3 = vld1q_s16(src_diff + 3 * src_stride); in vpx_hadamard_8x8_neon() 56 int16x8_t a4 = vld1q_s16(src_diff + 4 * src_stride); in vpx_hadamard_8x8_neon() 57 int16x8_t a5 = vld1q_s16(src_diff + 5 * src_stride); in vpx_hadamard_8x8_neon() 58 int16x8_t a6 = vld1q_s16(src_diff + 6 * src_stride); in vpx_hadamard_8x8_neon() 59 int16x8_t a7 = vld1q_s16(src_diff + 7 * src_stride); in vpx_hadamard_8x8_neon() 79 void vpx_hadamard_16x16_neon(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_hadamard_16x16_neon() argument [all …]
|
/external/libvpx/libvpx/vp9/encoder/ |
D | vp9_encodemb.c | 42 vpx_highbd_subtract_block(bh, bw, p->src_diff, bw, p->src.buf, in vp9_subtract_plane() 48 vpx_subtract_block(bh, bw, p->src_diff, bw, p->src.buf, p->src.stride, in vp9_subtract_plane() 355 const int16_t *src_diff; in vp9_xform_quant_fp() local 356 src_diff = &p->src_diff[4 * (row * diff_stride + col)]; in vp9_xform_quant_fp() 364 highbd_fdct32x32(x->use_lp32x32fdct, src_diff, coeff, diff_stride); in vp9_xform_quant_fp() 370 vpx_highbd_fdct16x16(src_diff, coeff, diff_stride); in vp9_xform_quant_fp() 376 vpx_highbd_fdct8x8(src_diff, coeff, diff_stride); in vp9_xform_quant_fp() 383 x->fwd_txfm4x4(src_diff, coeff, diff_stride); in vp9_xform_quant_fp() 395 fdct32x32(x->use_lp32x32fdct, src_diff, coeff, diff_stride); in vp9_xform_quant_fp() 401 vpx_fdct16x16(src_diff, coeff, diff_stride); in vp9_xform_quant_fp() [all …]
|
D | vp9_block.h | 30 DECLARE_ALIGNED(16, int16_t, src_diff[64 * 64]);
|
D | vp9_encoder.c | 5810 static void highbd_wht_fwd_txfm(int16_t *src_diff, int bw, tran_low_t *coeff, argument 5814 case TX_8X8: vpx_highbd_hadamard_8x8(src_diff, bw, coeff); break; 5815 case TX_16X16: vpx_highbd_hadamard_16x16(src_diff, bw, coeff); break; 5816 case TX_32X32: vpx_highbd_hadamard_32x32(src_diff, bw, coeff); break; 5822 static void wht_fwd_txfm(int16_t *src_diff, int bw, tran_low_t *coeff, argument 5825 case TX_8X8: vpx_hadamard_8x8(src_diff, bw, coeff); break; 5826 case TX_16X16: vpx_hadamard_16x16(src_diff, bw, coeff); break; 5827 case TX_32X32: vpx_hadamard_32x32(src_diff, bw, coeff); break; 5870 int16_t *src_diff, tran_low_t *coeff, argument 5924 vpx_highbd_subtract_block(bh, bw, src_diff, bw, src, src_stride, dst, [all …]
|
D | vp9_rdopt.c | 691 const int16_t *diff = &p->src_diff[4 * (blk_row * diff_stride + blk_col)]; in block_rd_txfm() 1000 int16_t *const src_diff = in rd_pick_intra4x4block() local 1001 vp9_raster_block_offset_int16(BLOCK_8X8, block, p->src_diff); in rd_pick_intra4x4block() 1008 vpx_highbd_subtract_block(4, 4, src_diff, 8, src, src_stride, dst, in rd_pick_intra4x4block() 1014 vp9_highbd_fwht4x4(src_diff, coeff, 8); in rd_pick_intra4x4block() 1030 vpx_highbd_fdct4x4(src_diff, coeff, 8); in rd_pick_intra4x4block() 1032 vp9_highbd_fht4x4(src_diff, coeff, 8, tx_type); in rd_pick_intra4x4block() 1101 int16_t *const src_diff = in rd_pick_intra4x4block() local 1102 vp9_raster_block_offset_int16(BLOCK_8X8, block, p->src_diff); in rd_pick_intra4x4block() 1108 vpx_subtract_block(4, 4, src_diff, 8, src, src_stride, dst, dst_stride); in rd_pick_intra4x4block() [all …]
|
/external/libvpx/libvpx/vpx_dsp/x86/ |
D | avg_intrin_avx2.c | 95 void vpx_highbd_hadamard_8x8_avx2(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_highbd_hadamard_8x8_avx2() argument 100 src16[0] = _mm_loadu_si128((const __m128i *)src_diff); in vpx_highbd_hadamard_8x8_avx2() 101 src16[1] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 102 src16[2] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 103 src16[3] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 104 src16[4] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 105 src16[5] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 106 src16[6] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 107 src16[7] = _mm_loadu_si128((const __m128i *)(src_diff += src_stride)); in vpx_highbd_hadamard_8x8_avx2() 138 void vpx_highbd_hadamard_16x16_avx2(const int16_t *src_diff, in vpx_highbd_hadamard_16x16_avx2() argument [all …]
|
D | avg_intrin_sse2.c | 267 static INLINE void hadamard_8x8_sse2(const int16_t *src_diff, in hadamard_8x8_sse2() argument 271 src[0] = _mm_load_si128((const __m128i *)src_diff); in hadamard_8x8_sse2() 272 src[1] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 273 src[2] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 274 src[3] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 275 src[4] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 276 src[5] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 277 src[6] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 278 src[7] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 319 void vpx_hadamard_8x8_sse2(const int16_t *src_diff, ptrdiff_t src_stride, in vpx_hadamard_8x8_sse2() argument [all …]
|
/external/libaom/libaom/aom_dsp/x86/ |
D | avg_intrin_avx2.c | 95 static void hadamard_8x8x2_avx2(const int16_t *src_diff, ptrdiff_t src_stride, in hadamard_8x8x2_avx2() argument 98 src[0] = _mm256_loadu_si256((const __m256i *)src_diff); in hadamard_8x8x2_avx2() 99 src[1] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 100 src[2] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 101 src[3] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 102 src[4] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 103 src[5] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 104 src[6] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 105 src[7] = _mm256_loadu_si256((const __m256i *)(src_diff += src_stride)); in hadamard_8x8x2_avx2() 135 static INLINE void hadamard_16x16_avx2(const int16_t *src_diff, in hadamard_16x16_avx2() argument [all …]
|
D | avg_intrin_sse2.c | 218 static INLINE void hadamard_8x8_sse2(const int16_t *src_diff, in hadamard_8x8_sse2() argument 222 src[0] = _mm_load_si128((const __m128i *)src_diff); in hadamard_8x8_sse2() 223 src[1] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 224 src[2] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 225 src[3] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 226 src[4] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 227 src[5] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 228 src[6] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 229 src[7] = _mm_load_si128((const __m128i *)(src_diff += src_stride)); in hadamard_8x8_sse2() 270 void aom_hadamard_8x8_sse2(const int16_t *src_diff, ptrdiff_t src_stride, in aom_hadamard_8x8_sse2() argument [all …]
|
/external/libvpx/libvpx/vp8/encoder/ |
D | encodemb.c | 25 short *diff_ptr = be->src_diff; in vp8_subtract_b() 51 vp8_subtract_mby(x->src_diff, *(b->base_src), b->src_stride, in vp8_subtract_mb() 53 vp8_subtract_mbuv(x->src_diff, x->src.u_buffer, x->src.v_buffer, in vp8_subtract_mb() 59 short *src_diff_ptr = &x->src_diff[384]; in build_dcblock() 71 x->short_fdct8x4(&x->block[i].src_diff[0], &x->block[i].coeff[0], 16); in vp8_transform_mbuv() 79 x->short_fdct8x4(&x->block[i].src_diff[0], &x->block[i].coeff[0], 32); in vp8_transform_intra_mby() 86 x->short_walsh4x4(&x->block[24].src_diff[0], &x->block[24].coeff[0], 8); in vp8_transform_intra_mby() 93 x->short_fdct8x4(&x->block[i].src_diff[0], &x->block[i].coeff[0], 32); in transform_mb() 100 x->short_fdct8x4(&x->block[i].src_diff[0], &x->block[i].coeff[0], 16); in transform_mb() 105 x->short_walsh4x4(&x->block[24].src_diff[0], &x->block[24].coeff[0], 8); in transform_mb() [all …]
|
D | encodeintra.c | 41 intra_pred_var = vpx_get_mb_ss(x->src_diff); in vp8_encode_intra() 60 x->short_fdct4x4(be->src_diff, be->coeff, 32); in vp8_encode_intra4x4block() 89 vp8_subtract_mby(x->src_diff, *(b->base_src), b->src_stride, xd->dst.y_buffer, in vp8_encode_intra16x16mby() 108 vp8_subtract_mbuv(x->src_diff, x->src.u_buffer, x->src.v_buffer, in vp8_encode_intra16x16mbuv()
|
D | block.h | 35 short *src_diff; member 63 DECLARE_ALIGNED(16, short, src_diff[400]); /* 25 blocks Y,U,V,Y2 */
|
D | encodeframe.c | 963 x->block[r * 4 + c].src_diff = x->src_diff + r * 4 * 16 + c * 4; in vp8_setup_block_ptrs() 969 x->block[16 + r * 2 + c].src_diff = x->src_diff + 256 + r * 4 * 8 + c * 4; in vp8_setup_block_ptrs() 975 x->block[20 + r * 2 + c].src_diff = x->src_diff + 320 + r * 4 * 8 + c * 4; in vp8_setup_block_ptrs() 979 x->block[24].src_diff = x->src_diff + 384; in vp8_setup_block_ptrs()
|
D | rdopt.c | 476 short *Y2DCPtr = mb_y2->src_diff; in macro_block_yrd() 480 vp8_subtract_mby(mb->src_diff, *(mb->block[0].base_src), in macro_block_yrd() 485 mb->short_fdct8x4(beptr->src_diff, beptr->coeff, 32); in macro_block_yrd() 491 mb->short_walsh4x4(mb_y2->src_diff, mb_y2->coeff, 8); in macro_block_yrd() 556 x->short_fdct4x4(be->src_diff, be->coeff, 32); in rd_pick_intra4x4block() 712 vp8_subtract_mbuv(x->src_diff, x->src.u_buffer, x->src.v_buffer, in rd_inter16x16_uv() 731 vp8_subtract_mbuv(x->src_diff, x->src.u_buffer, x->src.v_buffer, in rd_inter4x4_uv() 766 vp8_subtract_mbuv(x->src_diff, x->src.u_buffer, x->src.v_buffer, in rd_pick_intra_mbuv_mode() 911 x->short_fdct4x4(be->src_diff, be->coeff, 32); in vp8_encode_inter_mb_segment()
|
/external/libaom/libaom/av1/encoder/x86/ |
D | av1_fwd_txfm2d_sse4.c | 355 void av1_lowbd_fwd_txfm_sse4_1(const int16_t *src_diff, tran_low_t *coeff, in av1_lowbd_fwd_txfm_sse4_1() argument 360 av1_lowbd_fwd_txfm_c(src_diff, coeff, diff_stride, txfm_param); in av1_lowbd_fwd_txfm_sse4_1() 362 fwd_txfm2d_func(src_diff, coeff, diff_stride, txfm_param->tx_type, in av1_lowbd_fwd_txfm_sse4_1()
|
/external/libaom/libaom/test/ |
D | av1_fwd_txfm2d_test.cc | 233 typedef void (*lowbd_fwd_txfm_func)(const int16_t *src_diff, tran_low_t *coeff, 420 typedef void (*Highbd_fwd_txfm_func)(const int16_t *src_diff, tran_low_t *coeff,
|