Exemplo n.º 1
0
) = {
  celt_fir_c,                /* non-sse */
  celt_fir_c, 
  MAY_HAVE_SSE4_1( celt_fir ), /* sse4.1  */
  NULL
};

void (*const XCORR_KERNEL_IMPL[ OPUS_ARCHMASK + 1 ] )(
         const opus_val16 *x,
         const opus_val16 *y,
         opus_val32       sum[ 4 ],
         int              len
) = {
  xcorr_kernel_c,                /* non-sse */
  xcorr_kernel_c,
  MAY_HAVE_SSE4_1( xcorr_kernel ), /* sse4.1  */
  NULL
};

opus_val32 (*const CELT_INNER_PROD_IMPL[ OPUS_ARCHMASK + 1 ] )(
         const opus_val16 *x,
         const opus_val16 *y,
         int              N
) = {
  celt_inner_prod_c,                /* non-sse */
  MAY_HAVE_SSE2( celt_inner_prod ), 
  MAY_HAVE_SSE4_1( celt_inner_prod ), /* sse4.1  */
  NULL
};

Exemplo n.º 2
0
  MAY_HAVE_SSE4_1(xcorr_kernel)  /* avx  */
};

#endif

#if (defined(OPUS_X86_MAY_HAVE_SSE4_1) && !defined(OPUS_X86_PRESUME_SSE4_1)) ||  \
 (!defined(OPUS_X86_MAY_HAVE_SSE_4_1) && defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(OPUS_X86_PRESUME_SSE2))

opus_val32 (*const CELT_INNER_PROD_IMPL[OPUS_ARCHMASK + 1])(
         const opus_val16 *x,
         const opus_val16 *y,
         int              N
) = {
  celt_inner_prod_c,                /* non-sse */
  celt_inner_prod_c,
  MAY_HAVE_SSE2(celt_inner_prod),
  MAY_HAVE_SSE4_1(celt_inner_prod), /* sse4.1  */
  MAY_HAVE_SSE4_1(celt_inner_prod)  /* avx  */
};

#endif

# else

#if defined(OPUS_X86_MAY_HAVE_SSE) && !defined(OPUS_X86_PRESUME_SSE)

void (*const XCORR_KERNEL_IMPL[OPUS_ARCHMASK + 1])(
         const opus_val16 *x,
         const opus_val16 *y,
         opus_val32       sum[4],
         int              len