mirror of https://git.ffmpeg.org/ffmpeg.git
dsputil: add vector_fmac_scalar()
Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
32dfd8ca65
commit
fcca826a63
|
@ -2455,6 +2455,14 @@ static void vector_fmul_scalar_c(float *dst, const float *src, float mul,
|
|||
dst[i] = src[i] * mul;
|
||||
}
|
||||
|
||||
static void vector_fmac_scalar_c(float *dst, const float *src, float mul,
|
||||
int len)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < len; i++)
|
||||
dst[i] += src[i] * mul;
|
||||
}
|
||||
|
||||
static void butterflies_float_c(float *restrict v1, float *restrict v2,
|
||||
int len)
|
||||
{
|
||||
|
@ -2994,6 +3002,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
|
|||
c->scalarproduct_float = scalarproduct_float_c;
|
||||
c->butterflies_float = butterflies_float_c;
|
||||
c->vector_fmul_scalar = vector_fmul_scalar_c;
|
||||
c->vector_fmac_scalar = vector_fmac_scalar_c;
|
||||
|
||||
c->shrink[0]= av_image_copy_plane;
|
||||
c->shrink[1]= ff_shrink22;
|
||||
|
|
|
@ -423,6 +423,17 @@ typedef struct DSPContext {
|
|||
*/
|
||||
void (*vector_fmul_scalar)(float *dst, const float *src, float mul,
|
||||
int len);
|
||||
/**
|
||||
* Multiply a vector of floats by a scalar float and add to
|
||||
* destination vector. Source and destination vectors must
|
||||
* overlap exactly or not at all.
|
||||
* @param dst result vector, 16-byte aligned
|
||||
* @param src input vector, 16-byte aligned
|
||||
* @param mul scalar value
|
||||
* @param len length of vector, multiple of 4
|
||||
*/
|
||||
void (*vector_fmac_scalar)(float *dst, const float *src, float mul,
|
||||
int len);
|
||||
/**
|
||||
* Calculate the scalar product of two vectors of floats.
|
||||
* @param v1 first vector, 16-byte aligned
|
||||
|
|
Loading…
Reference in New Issue