float *dst, const int32_t *src,
const float *mul, int len);
- /**
- * Convert an array of float to an array of int16_t.
- *
- * Convert floats from in the range [-32768.0,32767.0] to ints
- * without rescaling
- *
- * @param dst destination array of int16_t.
- * constraints: 16-byte aligned
- * @param src source array of float.
- * constraints: 16-byte aligned
- * @param len number of elements to convert.
- * constraints: multiple of 8
- */
- void (*float_to_int16)(int16_t *dst, const float *src, long len);
-
- /**
- * Convert multiple arrays of float to an interleaved array of int16_t.
- *
- * Convert floats from in the range [-32768.0,32767.0] to ints
- * without rescaling
- *
- * @param dst destination array of interleaved int16_t.
- * constraints: 16-byte aligned
- * @param src source array of float arrays, one for each channel.
- * constraints: 16-byte aligned
- * @param len number of elements to convert.
- * constraints: multiple of 8
- * @param channels number of channels
- */
- void (*float_to_int16_interleave)(int16_t *dst, const float **src,
- long len, int channels);
-
- /**
- * Convert multiple arrays of float to an array of interleaved float.
- *
- * @param dst destination array of interleaved float.
- * constraints: 16-byte aligned
- * @param src source array of float arrays, one for each channel.
- * constraints: 16-byte aligned
- * @param len number of elements to convert.
- * constraints: multiple of 8
- * @param channels number of channels
- */
- void (*float_interleave)(float *dst, const float **src, unsigned int len,
- int channels);
} FmtConvertContext;
-void ff_float_interleave_c(float *dst, const float **src, unsigned int len,
- int channels);
-
void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx);
void ff_fmt_convert_init_arm(FmtConvertContext *c, AVCodecContext *avctx);